
C++
立花道雪0509
这个作者很懒,什么都没留下…
展开
-
C++ :头文件保护符
在看代码的时候经常会碰到#ifndef ,#endif这样的指令,这个的作用是头文件保护符,用于防止同一头文件的多次包含:预处理变量有两种状态:已定义和未定义#define 命令使得某一预处理变量变为已定义#ifdef 命令当且仅当变量已定义时成真#ifndef命令当且仅当未定义时成真若检查结果为真,则执行后续语句直至遇到#endif指令如:#ifndef EXAMP#define EXAMP.....原创 2018-07-16 11:58:18 · 856 阅读 · 0 评论 -
C++ : 泛型算法之定制控制与lambda表达式
lambda表达式:[my_int] (const int &a) {return a>my_int;}捕获列表 参数列表 函数体捕获列表指的是lambda中要用到的局部变量。没有时则[]为空返回类型自动由函数体中return的内容确定。没有时则连同()一起省略全局变量等 无需捕获,可以直接在函数体中使用 find_if结合lambda表...原创 2018-08-02 16:00:54 · 268 阅读 · 0 评论 -
C++ :泛型算法
只读算法1.find2.accumulatestring sum = accumulate(v.begin(),v.end(),string(""));只读算法最好使用v.cbegi,v.cend,不用改变容器的值。3.equalequal(roster1.cbegin(), roster1.cend(), roster2.cbegin())基于假设:第二个序列至少...原创 2018-08-02 15:26:20 · 238 阅读 · 0 评论 -
C++:关于分离式编译
这几天一直在将之前的大代码(一个cpp文件)按模块功能拆分为多个.h和.cpp文件接触到了一些C++分离式编译的内容 1. namespace和class命名空间和类,非常相似,比如:std::cout 和A::f(), 都用到了作用域符,都可以防止重名函数,可以更好的支持多人编程。但是有几个不同:1. namespace 可以写在多个不同的文件中,而class只能在一...原创 2018-07-27 23:15:18 · 3326 阅读 · 0 评论 -
C++:顺序容器学习
1. 通过迭代器进行遍历:while (begin != end){*begin = val;++begin;} 2. 通过auto获得迭代器:auto it = a.begin(); 3. 几种小括号初始化(不包括array)C c(b,e) //c初始化为迭代器b和e指定范围内的元素的拷贝C seq(n) //seq包含n个默认值初始化的元素...原创 2018-08-01 01:17:22 · 176 阅读 · 0 评论 -
C++ :类与对象一些知识点
1. 通过参数初始化表进行类成员初始化:class Time:{ int hour}类外定义构造函数则为:Time::Time(int h):hour(h){};Time::是类外定义函数是指出是类Time的函数;Time(int h):是Time类的同名构造函数,(int h )是所需参数。hour (h){} , 在:后面的hour(h)等价于hour=h。 多个成员初始化可以用,隔开如:Ex...原创 2018-07-13 15:15:47 · 193 阅读 · 0 评论 -
C++ (3) 学习笔记:字符串数组操作(上)
1. auto和decltype:auto 自动通过初始值类型推断变量类型 :auto i = 0;decltype 选择并返回操作数的数据类型 我理解为一个函数:decltype(f()) sum = x 并不实际调用f(),但sum的类型就是f()的返回类型。const int ci = 0;decltype(ci) x = 0; x的类型为const int。2. 改变字符串中的字符:s...原创 2018-07-05 21:16:57 · 176 阅读 · 0 评论 -
C++ (2)学习笔记: 引用和指针
1. 引用:相当于为对象起了另一个名字int &refval = ival; 此时refval就相当于ival的别名,绑定在了一起。所以修改refval就是修改了ival。同理: int a = ival; 和 int a = refval; 效果一样。2. 指针:指针也是对对象的简介访问,但相比于引用,指针本身就是一个对象。 int *p = &a;可以理解为p中存放了a的...原创 2018-07-05 19:31:28 · 130 阅读 · 0 评论 -
C++ 学习(1):类与对象
1. 需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。2. 范围解析运算符::: 叫作用域区分符,指明一个函数属于哪个类或一个数据属于哪个类。:: 可以不跟类名,表示全局数据或全局函数(即非成员函数)。作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分如:A,B表示两个类,在A,B中都有...原创 2018-07-05 11:15:27 · 186 阅读 · 0 评论 -
C++:bind与函数参数
调用形式auto newf = bind(f, arg_list);bool mycheck(int x, int y){ return x > y;}auto newmycheck = bind(mycheck, std::placeholders::_1, 3);auto wc = find_if(b.begin(), b.end(), newmycheck);...原创 2018-08-02 16:12:15 · 809 阅读 · 0 评论