笔记:C++命名空间
摘要:内容来自C++ primer 5th 大型程序经常会使用多个独立开发的库,这些库又会定义大量的全局名字,不可避免地会发生名字冲突的情况。 命名空间:为防止名字冲突提供了更加可控的机制。命名空间分隔了全局命名空间,其中每个命名空间是一个作用域。通过在某个命名空间中定义库的名字,可以避免全局名字的冲突。
阅读全文
posted @
2017-09-08 16:21
_fukua
阅读(266)
推荐(0)
笔记:C++ 函数对象
摘要:内容主要来自维基百科 函数对象:一个对象允许被当作普通函数来使用 与函数指针比,优点: 1.编译器可以内联执行函数对象的调用 2.函数对象内部可以保持状态 C++中,function object 是定义了函数调用运算符()的类对象,称作class type functor C++中,还有其他类型的
阅读全文
posted @
2017-09-07 21:34
_fukua
阅读(291)
推荐(0)
笔记:C++重载++前后区分
摘要:a++ ++a ++有2种方式,那么在重载++的时候要怎么区分: 前置: T& operator++(){ do something return *this; } 后置: const T operator++(int){ T tmp = *this; ++(*this); return tmp;
阅读全文
posted @
2017-09-07 19:34
_fukua
阅读(425)
推荐(0)
笔记:C++中static的作用总结
摘要:1.隐藏 当我们同时编译多个文件的时候,所有没加static的全局变量和函数都具有全局可见性,其他的源文件也可以访问 如果加了static,就会对其他源文件隐藏,利用这个特性可以在不同的文件中定义同名函数和同名变量,不用担心命名冲突。 2.对于变量,static还可以:保持变量内容的持久 存储在静态
阅读全文
posted @
2017-09-07 18:34
_fukua
阅读(199)
推荐(0)
《C++ primer 5th》笔记
摘要:#引用 引用在定义时必须初始化,之后,引用和它的初始值对象一直绑定在一起,无法让引用重新绑定到新对象。 引用只能绑定在对象上,不能与字面值或某个表达式的计算结果绑定在一起,但是常量引用可以。 比如: int &r1 = 5; //错误 const int &r2 = 5; //正确 不能定义指向引用
阅读全文
posted @
2017-04-02 21:37
_fukua
阅读(312)
推荐(0)