摘要:
大小 size()是取字符串长度的,跟length()用法相同 size_t其实是一种类型,类似于无符号整形(unsignted int)。可以理解成unsignted int size,当unsignted int用就可以了。size_t b=100; sizeof(...)是运算符,其值在编译时 阅读全文
摘要:
1.简单的函数指针的应用 形式1:返回类型(*函数名)(参数表) 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。 第二行定义了一个函数g 阅读全文
摘要:
1: 不要使用宏,用const或enum定义常量 用inline避免函数的额外调用(使用inline的函数,块里面尽量不要使用循环和递归) 用template去荷花一些函数或者类型 用namespace去避免命名冲突 2:不要在你需要变量之前去声明它,以保证你能立即对他进行初始化 声明可以出现在所有 阅读全文
摘要:
#include void say_hello() { std::cout << "hello world !" << std::endl; } class Hello { public: void operator () () { std::cout << "hello cpp !" << std::endl; }//重载运算符(); }; int main() {... 阅读全文
摘要:
c++,类的对象作为形参时一定会调用复制构造函数吗?答:如果参数是引用传递,则不会调用任何构造函数;如果是按值传递,则调用复制构造函数,按参数的值构造一个临时对象,这个临时对象仅仅在函数执行是存在,函数执行结束之后调用析构函数。如果类中没有定义复制构造函数 那对象就不能作为形参?答:如果没有定义,编 阅读全文
摘要:
在C++中,有三大函数复制控制(复制构造函数,赋值操作符,析构函数),而在C++11中,加入了移动构造函数,移动赋值操作符。我就斗胆将他们命名为六大函数好了。 一、构造函数 c++primer中说过:构造函数是特殊的成员函数,只要创建类类型的新对象,都要执行构造函数。构造函数的工作就是保证每个对象的 阅读全文
摘要:
今天专门看了一下虚继承的东西,以前都没怎么用过,具体如下:父类: 复制代码代码如下: class CParent { .... }; 继承类的声明比较特别: class CChild : virtual public CParent { .... } 请问,这个"virtual"是什么作用及含义? 阅读全文
摘要:
为了实现虚函数,C ++使用了一种称为虚表的特殊形式的后期绑定。该虚拟表是用于解决在动态/后期绑定方式的函数调用函数的查找表。虚拟表格有时会以其他名称,如“vtable”,“虚拟功能表”,“虚拟方法表”或“调度表”。 因为了解虚拟表的工作原理并不需要使用虚拟功能,所以这部分可以被认为是可选的阅读。 阅读全文
摘要:
面向对象中(包括C++),继承是用来描述“是一种”关系,比如说: 中国人是人类的派生类,这里就有”是一种“关系,你是中国人当然也是人了。派生类继承了基类的所有成员,派生类对象理所当然可以当做基类对象来用(相当于儿子继承了父亲所有的遗产,所以儿子可以用父亲的钱)。C++中,一般是将派生类对象传递给基类 阅读全文