C++ Primer
文章平均质量分 54
海豚的豚
做好每天的一点点小事
展开
-
《C++ Primer 第五版》学习笔记-第一章-开始
1. 访问main函数返回值的方法:Linux: echo $?Windos:echo %ERRORLEVEL%2. 标准库定义了4个IO对象:istream对象 cinostream对象 cout(标准输出),cerr(警告和错误,无缓冲),clog(程序运行时的一般信息)3. 特殊的操纵符endl:结束当前行,并将与设备关联的缓冲区中的内容刷到设备中原创 2016-12-20 13:54:01 · 290 阅读 · 0 评论 -
《C++ Primer 第五版》学习笔记-第三章-字符串、向量和数组
1. string类型的size函数,返回值类型是size_type2. c++ 标准提供了一种范围for语句,可用于string, vector, 数组3. 在大多数表达式中,使用数组类型的对象其实是使用一个指向该数组首元素的指针4. C风格字符串和stringC风格字符串stringconst char[] =stri原创 2017-02-20 08:25:51 · 222 阅读 · 0 评论 -
《C++ Primer 第五版》学习笔记-第四章-表达式
1. ++a; //把值加1后直接返回改变了的运算对象(左值)a++; //返回原始对象的副本(右值)2. cout << *iter++ << endl; //++高于*,*(iter++)等价于cout << *iter << endl;++iter;3. 逗号运算符 首先对左侧表达式求值,然后将结果丢弃掉,返回右侧表达式的值。原创 2017-02-20 08:32:10 · 159 阅读 · 0 评论 -
将智能指针作为函数输入参数的两个问题
1.考虑这样的processWidget函数声明:void processWidget(shared_ptr pw, int priority);当我们采取这样的方式调用:processWidget(new Widget, priority());显然是不能编译通过的,因为shared_ptr不接受通过new指针隐式的构造(explicit)所以这样写就能通过编译:processW原创 2018-01-11 10:51:58 · 12647 阅读 · 1 评论 -
《C++ Primer 第五版》学习笔记-第二章-变量和基本类型
1. C++提供了几种字符类型 char可以存放机器基本字符集中的任意字符对应的数字值 wchar_t可以存放机器最大扩展字符集中的任意一字符 char16_t和char32_t是Unicode字符,用于表示所有自然语言中字符的标准2. 字符型分为char, signed char, unsigned char. char和signed char原创 2017-02-20 07:50:42 · 309 阅读 · 0 评论 -
《Effective C++》条款27:尽量少做转型动作
C++中的四种新式转型:const_cast:常量性转除dynamic_cast:用来决定某对象是否归属继承体系中的某个类型reinterpret_cast:低级转型,如将pointer to int转型为intstatic_cast:强迫隐式转型,如将non-const转成const, int转为double,将void*转为typed指针,将pointer-to-base转为p原创 2018-01-16 11:36:58 · 208 阅读 · 0 评论 -
《C++ Primer》第12章:动态内存
shared_ptr允许多个指针指向同一个对象,unique_ptr独占所指向的对象,用make_shared函数分配动态内存,返回对象的shared_ptr.程序使用动态内存的原因之一是需要在多个对象间共享数据, 自己直接管理内存的类与使用智能指针的类不同, 它们不能依赖类的对象拷贝、赋值和销毁操作的任何默认定义.week_ptr是一种不控制所指向对象生存期的智能指针,它指向由一个sha原创 2018-01-09 16:33:54 · 221 阅读 · 0 评论