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

C++ 牛客网做题笔记【1100题总结】

2017-04-22 08:59 246 查看
1:作为成员函数重载的运算符若没有任何参数,则该运算符为前缀一元运算符,就像++和--一样有前缀后缀,为了进行区分,要求在后缀形式之后加一个int参数,比如A
operator++(int) 就是后缀的一元运算符,int是个哑元,用不上的,只是用于判断前缀后缀的标识符

2:实型常量,e后面必须是整数;.365前面无数字是对的

3:公有继承的保护成员虽然可以被派生类的方法访问,但是并不能被派生类的对象所访问,派生类对象只能访问公有继承的公有成员,派生类可以访问公有继承的公有成员和保护成员,无聊的文字游戏~

4:通过传入指针可以修改字符串的字符,但是指针的指向没有被改变,指针本身不能被改变

5:CSingleLock主要是同步多个线程对一个数据类的同时访问,析构时自动unlock

6:我草,感觉迅雷的题怎么这么恶心~  a = b++ , c++;
虽然逗号运算符的值是最后的值,但是= 的运算符优先级比 ,的优先级高,所以a的值是b++的值,若为 a = (b++, c++) ;则为c++的值

7:全局对象的生命周期跨越整个程序的运行时间,优先于main函数进行初始化,在main()函数返回时撤销:析构

8:for循环,初始化之后,需要先进行一次条件判断再执行循环体

9:typedef在编译的时候处理,#define在预编译的时候处理

10:函数的定义出现在主函数之前,也可能需要再次进行说明,迅雷的题喜欢文字游戏?因为可能还有其他函数之间的调用需要声明

11:若一个函数没有return语句,返回类型为void,你不加,系统会自动加return 0

12:C++规定不能将A**转换为const A**,(C语言中可行,C++修复了这个缺陷),地址是不可改变的,这样做的话,中间地址就变为可变的了

13:C++重载的作用:1:多个函数一个名字,减少对用户的复杂度 2:避免命名空间污染,提高程序可读性 3:类的构造函数与类同名,必须有重载以实现实例化不同对象

14:栈空间上的局部变量默认初始化为随即值,全局整型变量和静态整形变量默认初始值为0,sum没初始化就开始+++++++++,+个毛啊~

15:2^31为最大的-INT_MAX,1000 0000 0000 0000 0000 0000 0000 0000

16:模版类的好处:

1:标准库容器支持模版,可以认为容器就是动态增长或减小的数据结构,所以模版类可以用于创建这种数据结构

2:模版类是类型无关的,具有很高的可复用性

3:模版类在编译时进行数据类型检查,保证了数据安全

4:模版类与平台无关,移植性高

5:可用于基本数据类型

17:cin操作符输入结束的条件:遇到Enter、Space(空格)、Tab键,所以输入 I love you由于中间有空格,只输入了I

18:static只作用于文件内,不能被外部访问,所以static不能用于声明静态外部类,而且C++中也没有JAVA 的静态外部类

19:数据库:索引是对数据库表中一列或者多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息,改变数据库内容的insert、delete等操作是需要维护索引的

20:开放封闭原则:

对扩展开放,有新的需求或者变化时,可以对现有代码进行扩展,以适应新的需求

对修改封闭,一旦类的设计完成,就可以独立完成其工作,而不需要对类进行任何修改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息