C++ primer记录】的更多相关文章

因为看得源码里有大量的类模板,所以补充下C++中模板的知识 模板:函数模板 类模板 .p- 函数模板的类型参数可由编译器进行推断,也可以由用户显式的指定,类模板的类型参数必须显式的给出: p- 非类型模板实参必须时编译时常量表达式,例: template <int hi, int wid> class Screen { public: Screen(int vhi, int vwid){} }; ====>Screen<, > hp2621; .对于类模板,在外部实现成员函数…
关于C++编程风格,可参考:Google 开源项目风格指南 第一章:开始 1. 头文件:由于嵌套包含文件的原因,一个头文件可能会被多次包含在一个源文件中.条件指示符可防止这种头文件的重复处理,例如:#ifndef BOOKSTORE_H#define BOOKSTORE_H/* Bookstore.h 的内容 */#endif为了保证头文件只被处理一次,把如下#define 指示符#define BOOKSTORE_H放在#ifndef 后面,这样在头文件的内容第一次被处理时,BOOKSTORE…
学习版本:第五版. 本博文主要记录个人曾经并不知晓知识细节. 因为linux下的编译环境还未进行学习.所以实际代码测试将在今后完成. 红色:需确认. 蓝色:重点. 1)const对象设定为仅在文件内有效.个人认为:.h .cpp属于同文件的概念(未测试). 2)constexpr:常量表达式标示符.使用此作为前/后缀时,表示此变量/函数为常量表达式.但,具体用途?以及为何需要这样的标示符? 3)但凡使用迭代器的循环,都不要向迭代器增加元素.因为增加元素可能导致容器重新分配内存,导致后续迭代器操作…
(一) /a 这个转移字符竟然能调用计算机的硬件 喇叭~~ 对于float c++只能保证6位有效数字 似乎 double是13位 cout.setf(ios_base::fixed, ios_base::floatfield); // 确定输出格式. string 类型对象可以 赋值  string a; string b;  a = b;  还可以用 + 号. wchar_t title[] = L"xxx"; char16_t name[]=u"xxx"; c…
14章 操作符重载和转换 重载操作符是具有特殊名称的函数:保留字operator后接需要定义的操作符符号. 1.重载的操作符名: + – * / % ^ & | ~ ! , = <  >  <= >= ++ – << >> == != && ||等 不能重载的操作符:     ::    *  . ? 2. 重载操作符 必须具有一个类类型操作数. int operator+(int,int) ;//error : cannot def…
  智能指针(smart point)       除了增加功能外,其行为像普通指针一样. 一般通过使用计数(use count)或引用计数(reference count)实现智能指针,防止出现指针垂悬. 下面是一个普通带指针的类代码: #ifndef HASPTR_H #define HASPTR_H class HasPtr{ public: HasPtr(int *p, int i):ptr(p),val(i){} int *get_ptr()const{return ptr;} int…
第十三章 复制控制:(copy control) 复制构造函数(copy constructor) 复制操作符(assignment operator) ps: 什么时候需要显示的定义复制控制操作:类具有指针成员,一般情况使用默认的复制控制          有的类 需要禁止复制构造函数, iostream类就不允许复制         类必须显示的声明其复制构造函数为private 最佳实践: 一般来说,最好显示或隐式定义默认构造函数和复制构造函数,只有不存在其他构造函数是才合成默认构造函数,…
第4章 96页,数组维数为变量 第8章 246. IO对象不可复制.赋值原因是类设计时复制构造函数.赋值函数是私有的,为什么这么设计呢? 251. tie举例 第15章 484 派生类可以恢复,但不可扩大 #include <iostream> #include <string> using namespace std; class base { public: , , ) : pub(p1), pri(p2), pro(p3) {} int pub; private: int p…
第8章 8.2 p283 示例里有一句 ostream *old_tie = cin.tie(nullptr);//old_tie指向当前关联到cin的流 一开始不理解为什么不是无关联,查过tie()定义以后发现两个重载函数返回值不一样,书上并没有提到. ostream* tie () const; //返回指向绑定的输出流的指针. ostream* tie (ostream* tiestr); //将tiestr指向的输出流绑定的该对象上,并返回上一个绑定的输出流指针.…
Source Kelly J., Primer on Cognitive Computing 20150216. 侵删,联系方式:zhoujiagen\@gmail.com. 按A candidate solution for Java Web Application - current session中涉及内容,拼图还缺推荐和认知步骤. 这篇文章就Cognitive Computing的讨论偏向于商业的决策支持,与原计划中领域知识认知步骤(模型)中认知存在一定的区别,虽然没有进展,但有效的排除…