摘要: 【1】C++11智能指针 (1)废弃auto_ptr auto_ptr应用示例: 1 auto_ptr<string> p1(new string("auto_ptr")); 2 auto_ptr<string> p2; 3 p2 = p1; // auto_ptr不会报错 此语句 p2 = p1; 阅读全文
posted @ 2020-01-31 22:32 kaizenly 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 【1】枚举:分门别类与数值的名字 当程序中需要“数值的名字”时,通常有三种方式实现: (1)宏 1 #define Male (0) 2 #define Female (1) 缺点:如果代码中右Male或者Femal字符串,在预处理阶段一律替换,干扰正常代码。 (2)匿名的enum enum { M 阅读全文
posted @ 2020-01-31 18:36 kaizenly 阅读(1227) 评论(0) 推荐(0) 编辑
摘要: 【1】基于范围的for循环演化过程 (1)C++98传统写法 1 // C++98 传统写法 2 3 #include <iostream> 4 using namespace std; 5 6 int main() 7 { 8 int arr[5] = { 1, 2, 3, 4, 5 }; 9 1 阅读全文
posted @ 2020-01-31 17:25 kaizenly 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 【1】追踪返回类型的引入 为什么要引入追踪返回类型? 在C++98中,如果一个函数模板的返回类型依赖于实际入口参数类型,那么该返回类型在模板实例化之前可能都无法确定。 还记得Sum模板函数吗?请看如下演化过程: 1 #include <iostream> 2 using namespace std; 阅读全文
posted @ 2020-01-31 16:09 kaizenly 阅读(731) 评论(0) 推荐(0) 编辑
打赏