随笔分类 -  C++

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