您的位置:首页 > 编程语言 > C语言/C++

牛客C++专项试题笔记——0614

2017-06-14 09:43 155 查看
1、read是unix下的系统函数;fread(fgetc、fopen)才是C的库函数(stdio.h)。

2、C的转义字符:

“\”加数字(8进制数字)以及‘\0’加数字 都表示8进制转义字符;

‘\x’ 表示16进制转义字符;

‘\’加字符表示普通的转义字符(\n 换行等)。

3、if((x=y) && (x != 0))  x +=y是对的。

4、C++中,只有参数个数、类型以及参数是[b]const的引用(指针)可以作为重载判断,返回值类型不可以作为重载判断。(C++Primer  P208)[/b]

5、C++中运算符的优先级:*(解引用)和++优先级一样,右结合性。

     参考博客:http://blog.csdn.net/nicky_zs/article/details/4053146

6、函数内定义的数组是局部变量,在函数返回后内存被释放,无法通过指针访问:

   int *f() { int a[3] = {1, 2, 3}; return a;}是错误的。


7、exec((vl,v2),(v3,v4),v5,v6)等价于exec(v2,v4,v5,v6)。


8、类的常成员函数的定义:void print()const,在函数形参列表的右括号后面加上const。


9、构造函数的执行次序如下(析构函数相反):
  调用基类构造函数,调用顺序按照他们的继承时声明的顺序。
  调用内嵌成员对象的构造函数,调用顺序按照他们在类中声明的顺序。
  派生类的构造函数体中的内容。


10、构造函数可以重载([b]有参数)不可以声明为虚函数(虚函数是动态绑定,是在构造函数之后);[/b]


    而析构函数不可以重载(无参数),有虚函数的情况下必须声明为虚函数。


11、#pragma once避免头文件重复定义,作用类似于#ifndef,#define,#endif。


    区别:[b]#pragma once:优点:不会“撞车”,不用考虑宏名;缺点:如果某个头文件有多份拷贝,本方法                       不能保证他们不被重复包含,同时不支持跨平台;[/b]


[b]          #ifndef:优点:可移植性强;缺点:不同头文件的宏名会“撞车”。[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息