摘要:
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路:1)空间复杂度O(1),时间复杂度O(N). 1、复制每个节点,如: 阅读全文
摘要:
记住:永远在使用对象前先将它初始化。 1、不要混淆赋值assignment和初始化initialization。 记住如果没有在构造函数的初始化成员列表中显式地初始化成员,则该成员将在构造函数体之前执行默认初始化,比如说上面第一个,在进行赋值之前,theName会调用默认构造函数执行初始化操作。 初 阅读全文
摘要:
记住从右往左读,左边的修饰右边的。 在*之前表示const修饰数据,是底层const,数据不可以修改; 在*之后表示const修饰这个指针,是顶层const,指针的指向不可以修改。 1、const成员函数 两个成员函数如果只是常量性不同,可以被重载。(函数名相同,内容不一样) 在类里面,把一个成员函 阅读全文
摘要:
宁以编译器替换预处理器。 1、const 在预处理的时候,会使用实际值替换宏名,程序中所有的ASPECT_RATIO 替换为1.653. 会出现的问题:这个宏的记号名称在预处理的时候就被替换为数字,不会进入编译器阶段的符号表,出错的时候,是提示一串数字。 解决方法:使用一个常量const来替换上述的 阅读全文
摘要:
C++由四部分组成: 1)C。 2)Object-Oriented C++。classes,封装,多态,动态绑定(virtual函数) 3)Template C++。泛型编程。 4)STL。 对于内置类型而言,传值比传引用有效。对于用户自定义的类型,由于有构造函数和析构函数的存在,所以pass-to 阅读全文