摘要: 1.为内置对象进行 "手工初始化",因为C++不保证初始化他们(内置类型在赋值与初始化销毁基本相同,最好还是进行初始化列表),在内置类型过多情况下,可选择private函数统一初始化(赋值与初始化效率持平) 2.构造函数最好使用成员初始化列表方式,构造函数体内属于赋值操作,且初始化列表最好与声明变量 阅读全文
posted @ 2017-07-29 23:06 FeckCode 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1.尽量使用const修饰不会赋值操作的变量,防止 "无意义行为" 2.const成员函数遵守: bitwise constness 法则(只要函数内部不改变成员变量的,都是允许const修饰函数的) 3.如果某些成员在const函数内部总是会被改变 可以在变量声明处添加 “mutable”声明为多 阅读全文
posted @ 2017-07-29 19:32 FeckCode 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1.首先#define 定义不重视作用域(scope),虽然可以#undef控制,但是不美观,还存在多次替换的问题,以及没有任何封装性. 2.const XXX_XX,保证其常量性以及可控的作用域,如果是指针类型则 const XXXX* const ptr="hello world",也可以完美替 阅读全文
posted @ 2017-07-29 19:12 FeckCode 阅读(197) 评论(0) 推荐(0) 编辑
摘要: C++由4个部分组成: 1.C part of C++; 2.Object-Oriented C++; 3.Template C++; 4.STL 请记住:C++的高效编程视状况而变化,取决你使用C++的那一部分. 阅读全文
posted @ 2017-07-29 18:51 FeckCode 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 10 int main(int argc, char *argv[]) 11 { 12 13 try 14 { 15 throw std::range_error("... 阅读全文
posted @ 2017-07-29 15:41 FeckCode 阅读(3343) 评论(0) 推荐(0) 编辑
摘要: 普通函数指针: "return_type (*ptr_name)(para_types) " 类成员函数指针: "return_type (class_name::*ptr_name)(para_types)" 类数据成员指针: "type class_name::* ptr_name"; C/C+ 阅读全文
posted @ 2017-07-29 15:32 FeckCode 阅读(673) 评论(0) 推荐(1) 编辑
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 12 13 int main() 14 { 15 std::vector vec{1, 2... 阅读全文
posted @ 2017-07-29 14:51 FeckCode 阅读(648) 评论(0) 推荐(0) 编辑