• c++细节


    1.对象的分配可以有三种方式:在堆栈上(作为自动对象),在固定地址(静态对象),在自由存储区(在堆或者说在动态存储区里)。具体的区别从网上找的话不知道谁说的对谁说的错,还是试图从经典的书上找吧。

    volatile关键字作用:当volatile int i的时候,每次用到i的时候都从i所在的内存位置中读取,提供对特殊数据的稳定访问,原文链接:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html

    GCC提供的原子操作:__sync_*系列的built-in函数,http://www.cnblogs.com/FrankTan/archive/2010/12/11/1903377.html

    __typeof__(var) 是gcc对C语言的一个扩展保留字,用于声明变量类型,var可以是数据类型(int, char*..),也可以是变量表达式。

    __builtin_expect((x),1) 表示 x 的值为真的可能性更大; 
    __builtin_expect((x),0) 表示 x 的值为假的可能性更大。 

    __builtin_expect(x,y)是用来做分支预测的,可以提高效率。

    在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。

    Linux多线程编程详解----条件变量pthread_cond_t:http://blog.csdn.net/mashang123456789/article/details/9792677

    Linux使用线程:http://blog.csdn.net/jiajun2001/article/details/12624923

    C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。

    __thread用法:http://blog.csdn.net/crazyhacking/article/details/19930389

    无意中看到的:总结一下就是,输出到调用printf输出到终端时,输出一行输出缓冲区就会被冲洗。但是输出到文件时,变成了全缓冲,输出一行但是缓冲区并没有被冲洗。此程序是父进程先运行,子进程得到了父进程的数据空间副本,所以父进程调用的printf产生的数据缓冲也复制到了子进程的数据空间,所以调用printf函数就把父进程的数据也打印出来了。(全缓冲和行缓冲的区别)。

    fcntl函数只需要知道打开文件的描述符就能对该描述符进行设置。

    setsockopt和getsockopt函数可以设定或者获得socket的一些属性,具体等待后期继续了解。

    epoll不支持普通文件描述符。

    shared_ptr的线程安全问题:

    • 一个 shared_ptr 对象实体可被多个线程同时读取;
    • 两个 shared_ptr 对象实体可以被两个线程同时写入,“析构”算写操作;
    • 如果要从多个线程读写同一个 shared_ptr 对象,那么需要加锁。

    正常情况下基类需要是虚析构函数的原因:http://blog.csdn.net/starlee/article/details/619827

    const关键词在不同位置的区别:

      在一个变量声明的不同位置:http://blog.csdn.net/youoran/article/details/7800603

      修饰成员函数时:http://blog.csdn.net/zcf1002797280/article/details/7816977

    c++乱序执行的问题:http://blog.csdn.net/world_hello_100/article/details/50131497

  • 相关阅读:
    Python 开发中easy_install的安装及使用
    Python 对象的深拷贝与浅拷贝 -- (转)
    Python 语言使用中遇到的问题汇总
    Python 源码学习之内存管理 -- (转)
    Python 对象模型 -- (转)
    Python3.3.3 安装(Linux系统)
    angular-file-upload API angular文件上传插件
    html5上传文件并监听进度
    angular 服务
    skrollr 中文教程
  • 原文地址:https://www.cnblogs.com/lthb/p/6368663.html
Copyright © 2020-2023  润新知