![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 52
Enjoy生活
这个作者很懒,什么都没留下…
展开
-
读书笔记 effective C++ 条款13: initialization list的members 初始化次序应该和其在Class内声明的次序相同
看了这个段文章,才理解原来成员变量的初始化是按照声明的次序完成的。我自己写了一个小程序来验证一下: file Aaa.h:/* * Aaa.h * * Created on: Feb 28, 2015 */#ifndef AAA_H_#define AAA_H_class Aaa {public: int c,原创 2015-02-28 17:03:03 · 376 阅读 · 0 评论 -
C++ STL 适配器
转载自C++ STL http://blog.sina.com.cn/s/blog_9946f55601016qwk.htmlC++ STL 容器适配器 标准库提供了三种顺序容器适配器:queue、priority_queue、stack.适配器是标准库中通用的概念,包括容器适配器、迭代器适配器和函数适配器。 本质上,适配器是使一事物的行为类似于转载 2016-02-01 09:55:40 · 384 阅读 · 0 评论 -
C++ 函数指针
函数指针的作用和好处相信很多同学都知道和有体会,但是如果不是常有的话,很难记住函数指针的语法定义。 下面说一下我从一本书上介绍的一个方法:这个方法十分容易记忆和理解。 比如说要定义一个函数int fun(double d) 定义了一个参数为double类型,返回值为int类型的函数fun如果要定义一个函数指针,该指针指向一个函数以double类型为参数原创 2015-12-25 16:51:03 · 323 阅读 · 0 评论 -
C++11定义的数据类型
无符号: int, char, short, long, long long, 有符号:unsigned char, int , short, longC++ 如何确定常量的类型例如 cout 把2015存储为int,long还是其他类型呢? 默认的情况是int. 如果有特殊的后缀,比如说 2015l 或者说 2015L 则保存为 long,原创 2015-12-23 14:14:09 · 1014 阅读 · 0 评论 -
C++11的新特性 Lambda 函数
lambda函数的特点简洁: 比起函数来说,要少写不少代码。 额外的功能: lambda可以访问作用域内的任何动态变量,要扑捉要使用的变量,把它的名称放在[ ] 就可以了。[z] 表示按值访问, [&z] 表示按引用访问 [=] 表示访问了所有的动态变量, [&]表示引用访问了所有的动态变量。语法: [ 引用的变量](类型 变量){ } 返回的类型为自动推翻译 2015-12-17 14:32:31 · 384 阅读 · 0 评论 -
C++ STL 容器总结
种类容器简介ReadInsertremove实现方式 Array数组,长度不可变。不支持insert和removeO(1)NA原创 2015-12-21 09:07:40 · 354 阅读 · 0 评论 -
C++ STL ; 一些记录。自己学习用。
数组的STLC11 之前: vector, 长度动态变化,但是存储是连续的C++11: 引入了Array, 长度固定原创 2015-07-30 09:14:16 · 326 阅读 · 0 评论 -
读书笔记: More Effective ++ 操作符 条款6,区别increment/decrement操作符的前置(prefix)和后置(postfix)的形式
前置操作符,++x,--x, 返回的是引用后置操作符,x--,x++, 返回的是const的值。C++是靠依据输入参数的类型(型别)的不同来区别不同的重载函数,因此前置的重载函数没有入参,而后置参数有入参,该参数不参与函数内的逻辑运算,仅仅作为区别不同的重载函数而已。UPInt &UPInt::operator++(){ *this += 1;原创 2015-05-25 15:18:54 · 398 阅读 · 0 评论 -
全局静态函数的定义和实现
在实现一个全局函数的时候,编译报了一个错误LimitInstance.cpp:24:50: error: cannot declare member function 'static LimitInstance* LimitInstance::getInstance()' to have static linkage [-fpermissive] static LimitInsta原创 2015-06-09 10:17:02 · 716 阅读 · 0 评论 -
读书笔记: More Effective C++ 基础议题,条款1到条款4
条款1: 区别reference和pointer如果总是指向一个初始化的对象,那么就用reference, 如果可能指向这个对象,也可能指向另外一个,也可能是空指针,那么就用pointer条款2:使用C++ 转型操作符static_cast : 等同于过去C的强制转换dynamic_cast: 用于多态的转换const_cast: 改变const 属性r原创 2015-05-23 07:56:03 · 347 阅读 · 0 评论 -
读书笔记: effective C++; 条款22 和 23, 尽量用传址少用传值。
条款22 尽量少用传值,尽量用传址传值对于了若干的构造,析构,拷贝函数的调用 ,因而效率不高条款23 但是如果需要用传值的时候,必须要用传值,而不要用传址例如,如果返回的目标在调用之前就不存在,因此即使传回一个引用的话,也指向一个不存在的东西原创 2015-03-05 22:09:49 · 321 阅读 · 0 评论 -
读书笔记: effective C++ C++ 构造函数和赋值函数的不同, 赋值函数需要释放原有的资源
读《《effective C++ 》》构造函数: 初始化,检验参数的有效性赋值函数: 必须释放原有的资源构造函数: String:: String(const char *value){ if(value){ data = new char[strlen(rhs.data)+1]; strcpy(data,rhs.d原创 2015-02-16 11:26:38 · 361 阅读 · 0 评论 -
读书笔记: effective C++ 条款12 尽量以initialization 动作取代assignment
在初始化中赋值, 和用赋值函数给成员变量在初始化后再赋值有什么不同吗?结果可能没有什么不一样的,但是效率却不同。例如: Template{ public: NamedPtr(const string& initName, T* initPtr);private: const string& name; T × const ptr;}原创 2015-02-28 16:14:53 · 417 阅读 · 0 评论 -
读书笔记: effetive C++ 条款14:总是让base class拥有virtual desctructor , 体现了virtual对多态的支持
virtual 的作用是多态,virtual表可以在running time时候判断指针指向的具体类型Class base{base();~base(); }Class Derived : public base{原创 2015-02-28 20:24:14 · 566 阅读 · 0 评论 -
const 应用总结
引用:http://www.cnblogs.com/Fancyboy2004/archive/2008/12/23/1360810.html转载 2016-01-14 15:48:01 · 199 阅读 · 0 评论