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

来源:互联网 发布:金融支付 数据挖掘 编辑:程序博客网 时间:2024/04/30 23:16

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:开放封闭原则:

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

对修改封闭,一旦类的设计完成,就可以独立完成其工作,而不需要对类进行任何修改

1 0