摘要: 1.不可以重载的运算符: ::, .*, ., ? :。 2.一元重载:只有一个参数 二元重载:有两个参数,左侧运算对象传递第一个参数,右侧运算对象传递第二个参数。 在类外:void operator+(int, int) 类内:Name operator(int)。因为会有一个隐含的this指针, 阅读全文
posted @ 2017-10-08 19:28 CoderZSL 阅读(286) 评论(0) 推荐(0)
摘要: 题目: Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) connected 4-directionally (horizontal or vertical. 阅读全文
posted @ 2017-10-08 19:17 CoderZSL 阅读(131) 评论(0) 推荐(0)
摘要: 1.类型别名 关键字typedef typedef int myInt; //myInt为int同义词 可以用myInt来声明对象 myInt a = 0; //等于int a = 0 在函数指针中typedef用处更大,以后细说 C++11新标准下,可以用using using myInt = i 阅读全文
posted @ 2017-10-07 21:50 CoderZSL 阅读(123) 评论(0) 推荐(0)
摘要: 这是个好东西,Effective C++里都已说过:能用的地方尽量用,大师都这样说了,我们这些渣渣为何不遵循? const就是常量,这就有个重要的东西了:常量必须初始化 const int a = 0; const int b = get_size(); //已知有get_size()函数 cons 阅读全文
posted @ 2017-10-03 14:58 CoderZSL 阅读(117) 评论(0) 推荐(0)
摘要: 2.3.1引用 在C++11标准中,增加了一个右值引用,稍微高级的东西,以后会更新。 一般来说引用都是说的左值引用。 这里就有一个问题,什么是左值,什么是右值。 简单一句话:左值长久,右值短暂 引用其实就是给对象起了另一个名字。 如: int ival = 0; int &refVal = val; 阅读全文
posted @ 2017-10-01 15:56 CoderZSL 阅读(122) 评论(0) 推荐(0)
摘要: 在构造函数中调用virtual函数时,base class构造期间virtual函数是不会下降到derived class层 如: class Transaction{ public: Transaction(); virtual void logTransaction() const = 0; } 阅读全文
posted @ 2017-10-01 15:06 CoderZSL 阅读(142) 评论(0) 推荐(0)
摘要: 例如: class Widget { public: ~Widget(){...} }; void doSomething() { vector<Widget>v; } 如果v中有10个Widget,销毁第一个时发生析构函数抛出异常,销毁第二个时析构函数又抛出异常,那么两个异常同时存在的情况下:程序 阅读全文
posted @ 2017-10-01 15:05 CoderZSL 阅读(138) 评论(0) 推荐(0)
摘要: 1.假设有如下时间类: class TimeKeeper { public: TimeKeeper(); ~TimeKeeper(); }; class AtomicClock :public TimeKeeper {}; factory函数(用户只是想调用时间,而不想操心时间如何计算等细节):Ti 阅读全文
posted @ 2017-10-01 15:01 CoderZSL 阅读(141) 评论(0) 推荐(0)
摘要: 如果自己定义的类中并不需要copy assignment操作符或者copy构造函数,为了避免编译器自动生成 因为编译器自动生成的没什么用,一般是按照顺序进行赋值或者拷贝,对于有对象内含有指针的话可能会出现一些问题 可以在private中声明(并不定义)它们。但是,友元和成员函数依然可以调用它们。 在 阅读全文
posted @ 2017-10-01 14:58 CoderZSL 阅读(166) 评论(0) 推荐(0)
摘要: 当写下如下空类时: class Empty{}; 编译器处理后变成; class Empty { public: Empty() {}//默认构造函数 Empty(const Empty&) {}//默认拷贝构造函数 ~Empty(){}//默认析构函数 Empty& operator=(const 阅读全文
posted @ 2017-10-01 14:48 CoderZSL 阅读(206) 评论(0) 推荐(0)