05 2016 档案
摘要:代码: 输出: 若将A中的print()函数改成虚函数,则输出 分析: 由以上代码可知,基类对象的引用和指针实际上是非常相似的。
阅读全文
摘要:代码: 输出: 分析: (++a)返回的是左值,而(a++)不是。
阅读全文
摘要:代码: 输出: 分析: 虽然&&的运算符优先级比||高,但是第9行代码||后面的部分并没有执行。
阅读全文
摘要:代码: 输出: 分析: 由输出可知,unsigned char向int转换时不会扩展最高位,而char(signed char)则会。
阅读全文
摘要:代码: 输出: 分析: 逗号运算符优先级最低,从左到右执行。 需要注意的是第九行代码实际上是两条表达式。
阅读全文
摘要:代码1: 输出: 分析: 多重继承与单继承类似,也是先执行基类构造函数。多个基类之间,则按照派生类声明时从左到右执行。 代码2: 输出: 分析: 执行顺序:基类构造函数->初始化成员变量->派生类构造函数
阅读全文
摘要:代码: 输出: 若将代码第8行注释并替换成第7行注释内容,输出为 分析: 常量字符串存储在文字常量区,而字符数组存储在栈上。
阅读全文
摘要:代码: 输出: 分析: dynamic_cast下行转换(基类到子类)时要求基类是多态的,如果发现下行转换不安全,dynamic_cast返回一个null指针; static_cast则没有这个要求,但在无关类指针转换时,编译器会报错,提升了安全性。
阅读全文
摘要:代码: 输出: 分析: 若将A的析构函数设置为虚函数,则输出 所以最好将类的析构函数设为虚函数
阅读全文
摘要:代码: 输出: 分析: C++中struct默认继承方式为public,而class为private。
阅读全文
摘要:代码: 输出: 分析: 如果将代码23行注释掉并改为22行,输出变为
阅读全文
摘要:代码: 输出: 分析: 由于浮点数运算时经常会产生一定误差,因此判断浮点数是否为0一般判断其绝对值是否小于某个非常小的数。
阅读全文
摘要:代码: 输出: 分析: 可以参考https://www.zhihu.com/question/35843839 需要注意的是下列两行代码的区别 前者新建一个对象,后者声明了一个函数。
阅读全文
摘要:代码: 输出: 分析: 调用特定的函数可能需要加上相关作用域。
阅读全文
摘要:代码: 输出: 分析: define在预处理时进行替换,且忽略代码逻辑,替换范围为当前位置之后。
阅读全文
摘要:代码: 输出: 分析: 如果表达式包含signed和unsigned int,signed会被转换为unsigned。如果int 操作数的值恰为负数,其转换为unsigned int可能会变为一个很大的正数(转换结果是该负值对unsigned int的取值个数求模)。所以最好避免对int和unsig
阅读全文
摘要:代码: 输出: 分析: 注意派生类对象的地址与第一个父类地址相同,与第二个父类地址不同。
阅读全文
摘要:代码: 输出: 分析: 1、静态成员变量不能在类中初始化,需要在类外初始化。 2、静态成员函数只能访问静态成员变量,普通成员函数则没有这个限制。 3、静态成员函数不能为虚函数。
阅读全文
摘要:代码: 输出: 分析: switch只判断一次,如果没有break会顺序向下执行。
阅读全文
摘要:代码: 输出: 分析: 1、虚析构函数的作用:当基类指针指向派生类并delete时,可以调用派生类的析构函数; 2、私有析构函数的作用:令对象只能在堆上生成,即用new方法。原理是C++是一个静态绑定语言,在编译过程中,所有的非虚函数调用都必须分析完成(虚函数也要检查可访问性)。因此,当在栈上生成对
阅读全文
摘要:代码: 输出; 分析: 假如注释掉代码第19行,编译将会出错。
阅读全文
摘要:代码: 输出: 分析: 注意普通成员函数与静态成员函数的不同。
阅读全文
摘要:代码: 输出: 假如程序第13行改为 则输出变为 分析: cout先输入到缓冲区(没有直接输出到屏幕),执行fork后缓冲区被复制。加了endl则会直接输出,可以看出endl有换行和清空的作用。
阅读全文
摘要:代码: 输出: 分析: cout流的操作顺序是——先从右往左读入缓冲区,然后再从左往右输出。 需要注意的是,当它从右边往左读的时候,碰到函数先去执行函数,并把函数返回值读入缓冲区。(函数的返回类型不能是void,否则编译出错)
阅读全文
摘要:代码: 输出: 分析: 1. 常对象只能调用常成员函数。2. 普通对象可以调用全部成员函数。3. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。 4. 当一个成员函数被调用时,自动向它传递一个隐含的参数,该参
阅读全文
摘要:代码: 输出: 分析: 空类的大小为1,纯虚函数占8个字节。
阅读全文
摘要:代码: 输入: 输出: 分析: 可见argc的值会随着输入参数的个数变化,且argv[0]存放着程序文件的完全路径。
阅读全文
摘要:代码: 输出: 说明: 静态局部变量存储在全局区,全局变量、静态局部变量、静态全局变量都在静态存储区分配空间。
阅读全文
摘要:代码: 输出: 分析: int *a[10]中的a是指针数组([]优先级高于*),int (*b)[10]中的b是数组指针。
阅读全文
摘要:vim查看文件编码 改变文件编码为utf-8 查看文件是否存在BOM 去除文件开头的BOM
阅读全文
摘要:shell可以识别4种不同类型的引字符号: 单引号字符' 双引号字符" 反斜杠字符\ 反引号字符` 1. 单引号 ( '' ) # grep Susan phonebook Susan Goldberg 403-212-4921 Susan Topple 212-234-2343 如果我们想查找的是
阅读全文
浙公网安备 33010602011771号