02 2019 档案

摘要:插入迭代器 插入迭代器有三种类型: back_inserter : 创建一个使用push_back的迭代器,总是插入到容器最后一个元素之后。 front_inserter : 创建一个使用push_front的迭代器,总是插入到容器第一个元素之前。 inserter : 创建一个使用inset的迭代 阅读全文
posted @ 2019-02-28 16:58 我是好人007 阅读(165) 评论(0) 推荐(0)
摘要:bind 函数在头文件 functional中 调用bind的一般形式: auto newCallable = bind (callable, arg_list); newCallable为一个新可调用对象,callable为原可调用对象,当调用newCallable时,会调用callable并传递 阅读全文
posted @ 2019-02-28 16:01 我是好人007 阅读(1422) 评论(0) 推荐(0)
摘要:lanmbda表达式形式如下: [capture list] (parameter list) ->return type { function body } 捕获列表 capture list 为捕获列表,是函数体内局部变量的列表(通常为空)。 捕获有值捕获和引用捕获两种形式: auto f1 = 阅读全文
posted @ 2019-02-28 15:50 我是好人007 阅读(296) 评论(0) 推荐(0)
摘要:栈适配器 stack <int> intStack; //声明 s.push(t) //压栈 s.emplace(args) //用args压栈 s.pop() //出栈 s.top() //返回栈顶元素 队列适配器 queue <int> intQueue; //声明 q.push() //在队尾 阅读全文
posted @ 2019-02-27 16:51 我是好人007 阅读(268) 评论(0) 推荐(0)
摘要:类型 vector:可变大小数组。支持快速随机访问。在尾部之外插入或删除较慢 deque:双端队列。支持快速随机访问,在头尾插入和删除快 list:双向链表。只支持双向顺序访问。插入删除快 forward_list:单向链表,仅能单向顺序访问 array:固定大小数组。支持快速访问。不能添加或删除。 阅读全文
posted @ 2019-02-27 16:06 我是好人007 阅读(323) 评论(0) 推荐(0)
摘要:委托构造函数可以使用它所属类的其他构造函数执行它自己的初始化: class a{ public: // 一般构造函数 a(string s, int t, char c): a_s(s),a_t(t),a_c(c) { } //委托构造函数 作为重载 a(): a(" " ,0 ,' ') { } 阅读全文
posted @ 2019-02-27 10:30 我是好人007 阅读(1468) 评论(0) 推荐(0)
摘要:传统for语句语法形式: for(initializer; condition; expression) 一般而言,initializer负责初始化,condition为条件控制,为真时执行循环,expression修改循环变量。 范围for语句语法形式: for (declaration : ex 阅读全文
posted @ 2019-02-27 09:52 我是好人007 阅读(578) 评论(0) 推荐(0)
摘要:vector 为类模板,包含在头文件vector中。 定义和初始化 vector(T) a; //元素为T类型,默认初始化 vector(T) b = a; //用a来初始化b,与b(a)相同 vector(T) c(n,val); //c 中包含n个val,圆括号表示有多少元素 vector(T) 阅读全文
posted @ 2019-02-27 09:42 我是好人007 阅读(234) 评论(0) 推荐(0)
摘要:string 类型在头文件 string 内,定义在 std 命名空间中。 定义和初始化 string s1; string s2(s1); //拷贝初始化 string s2=s1; //同上 string s3("hello world "); //使用字面值初始化 string s4(10,' 阅读全文
posted @ 2019-02-26 21:14 我是好人007 阅读(315) 评论(0) 推荐(0)
摘要:头文件保护符用 #ifdef 和 #ifndef ,检查结果为真时, 执行后续操作直至遇到#endif指令。 // 代码取自 C++ primer 第五版 #ifndef SALES_DATA_H #define SALES_DATA_H #include<string> struct Sales_ 阅读全文
posted @ 2019-02-26 19:49 我是好人007 阅读(339) 评论(0) 推荐(0)
摘要:auto 类型说明符可以让编译器来为我们分析表达式所属的类型: int a=0; auto b=a; //b 为 int 类型 auto 会忽略掉顶层 const (当为指针时为常量指针),会保留底层 const (指向常量的指针),即 auto 不会出现常量指针类型。 阅读全文
posted @ 2019-02-26 19:43 我是好人007 阅读(595) 评论(0) 推荐(0)
摘要:一般来说,顶层 const 可以表示任意对象是常量,底层 const 则与指针和引用的符合类型有关(指向的是常量): const int a = 2; //顶层 const const int *p = &a; //底层const const int &r = a; //用于声明引用的 const 阅读全文
posted @ 2019-02-26 19:42 我是好人007 阅读(322) 评论(0) 推荐(0)
摘要:decltype 说明符作用是选择并返回操作数的数据类型: const int ci=0,&pi=ci; decltype(ci) x = 0; //x的类型为 const int decltype(pi) y = 0; // y 的类型为 const int&,绑定到x decltype( f( 阅读全文
posted @ 2019-02-26 19:28 我是好人007 阅读(246) 评论(0) 推荐(0)
摘要:在C++11的新标准中,using 也用于别名声明,与 typedef 功能相同。 using double wages; //与 typedef double wages 功能相同。 阅读全文
posted @ 2019-02-26 19:13 我是好人007 阅读(497) 评论(0) 推荐(0)
摘要:constexpr 类型变量必须用常量表达式或 constexpr 函数来初始化: constexpr int a=10; constexpr int b=a+10; constexpr int c=d(); //当 d()为一个 constexpr 函数时才可以 constexpr 函数的形参和返 阅读全文
posted @ 2019-02-26 19:05 我是好人007 阅读(1327) 评论(0) 推荐(0)
摘要:常量指针为顶层 const,即把 * 放在 const 关键字之前。 例如: int a=0; int *const pa=&a; // pa 为常量指针 一直指向a 指针指向的是一个常量为底层 const,* 放在 const 之后。 例如: const int b=0; const int *p 阅读全文
posted @ 2019-02-26 18:52 我是好人007 阅读(172) 评论(0) 推荐(0)