c++11的记录
decltype()类型指示符
设定一个返回值是int的函数f(),通过使用
1 decltype(f()) sum = x;
此时decltype()接受一个从f()返回的int型的值,并将sum设置为int型。
auto自动类型
用auto遍历二维数组
1 #include <bits/stdc++.h>
2 using namespace std;
3 int main ()
4 {
5 constexpr size_t ss = 5;
6 int ia[ss][ss];
7 for (size_t i = 0; i != ss; ++i)
8 for (size_t j = 0; j != ss; ++j)
9 ia[i][j] = i * ss + j;
10 //size_t其实时一个宏定义网上说时unsigned int,这是保证在各个平台上都能用
11 size_t cnt = 0;
12 for (auto &rom : ia)
13 for (auto col : rom)
14 col = cnt;
15 ++cnt;
16 return 0;
17 }
使用using来定义新的类型
1 using int_array = int[4];
这就是将4个int大小的的数组 封装成一个类型,并命名为int_array
assert预处理宏定义
它也就是一个预处理变量,行为类似于内联函数。
用法:
假设exp是一个判断条件,如果exp为真,则它什么也不做,为假则输出信息并阻止程序的进行。
作用:常用于检查不能发生的条件
eg:
1 #include<cassert>
2 #include<iostream>
3 using namespace std;
4 int main(){
5
6 for(int i = 0; ; ++ i){
7 assert(i < 10);
8 }
9 return 0;
10 }
初始化赋值方式
int units_sold(19);
int units_sold{19};
int units_sold = 0;
int units_sold = {0};
用花括号来初始化值得到了全面的应用
--,++一点东西
在能用前置版本就用前置版本,因为后置版本需要先储存在工作,毫无疑问前者相对快点。
cctype头文件中的函数
isalnum(c) c是字母或数字时为真
isalpha(c) 为字母时为真
iscntrl(c) 为控制子字符是为真
isdigit(c)为数子时
isgraph(c)不为空格但可打印是为真
ispunct(c)为标点符号时为真
isspace(c)f当为空白符时为真
isupper(c)为大写字母时
islower(c)小写字母时为真
isxdigit(c)为十六进制时为真
tolower(c)如果时达写就输出对应的小写,否则原样输出
toupper(c)如果是小写字母则输出其大写,否则原样输出
一点位运算符
>> 右移
<< 左移
& 位与 就是保留两个二进制数相同的数其他不同的都变为零
^ 位异或 就是只能对应位置有一个1否则为零
| 位或 两个二进制数对应对的位置至少一个为1则是1 否则为0
~ 位求反 也就是将1->0,0->1;
c++11的记录的更多相关文章
- C++11 语法记录
转自:http://blog.csdn.net/crayondeng/article/details/18563121 一.Lambda表达式 C++ 11中的Lambda表达式用于定义并创建匿名的函 ...
- windows 下使clion支持c++11操作记录
最近用上了windows下的clion,发现默认安装的MINGW版本太低,导致所带的gcc版本竟然是3.5的,实在太老了,不支持c++11,于是手动修改了mingw的版本.首先去mingw的官网下载最 ...
- c++11多线程记录0
两种并发编程模型 多进程 进程间通信常用的几种方式: 文件 管道 消息队列 多线程 一个进程中存在的多个线程,通常通过共享内存来通信,(说的非常非常粗俗,就是通过类似"全局变量"的 ...
- c++11多线程记录6:条件变量(condition variables)
https://www.youtube.com/watch?v=13dFggo4t_I视频地址 实例1 考虑这样一个场景:存在一个全局队列deque,线程A向deque中推入数据(写),线程B从deq ...
- c++11多线程记录5: Unique Lock和延时初始化
https://www.youtube.com/user/BoQianTheProgrammer 视频网址 Unique Lock unique_lock和lock_guard类似,都是mutex的w ...
- c++11多线程记录4:死锁
简单示例 举个例子,桌上有一支笔和一张纸,小A和小B都要拿到纸笔写字 小A拿了笔,小B拿了纸,这时就形成了死锁(两人都不愿意让出纸笔). 其实只要稍加控制就可以避免这种情况:规定必须先拿到纸再能去尝试 ...
- c++11多线程记录3: 数据争用和Mutex的使用
https://www.youtube.com/watch?v=3ZxZPeXPaM4 学习视频 数据争用 简单来说就是存在多个线程同时对某个共同的对象进行读写(至少有一个线程在做写操作),造成读取这 ...
- c++11多线程记录2:线程管理
线程没有调用join和detach thread对象必须调用join或者detach,否则程序会终止 例如: void func() { std::cout << "hello, ...
- c++11多线程记录1 -- std::thread
启动一个线程 话不多说,直接上代码 void func(); int main() { std::thread t(func); //这里就开始启动线程了 t.join(); // 必须调用join或 ...
随机推荐
- Python socket day1
客户端和服务端通过ip地址确认互相身份.(ip:用来在网络中标记一台电脑) 如果A,B两个人IP地址相同,接受到的信息有时候A收到,有时候B收到 当你用QQ时,双击选中头像其实就是选中了对方的IP地址 ...
- 【PAT甲级】1080 Graduate Admission (30 分)
题意: 输入三个正整数N,M,K(N<=40000,M<=100,K<=5)分别表示学生人数,可供报考学校总数,学生可填志愿总数.接着输入一行M个正整数表示从0到M-1每所学校招生人 ...
- 150元搭建微型家庭服务器(支持DLAN,samda,aria2)
概览 看到有人用树莓派搭家庭服务器,感觉太不值了,300块都可以搭一台性能还可以的低功耗x86主机了,我搭一个100块顶多的服务器玩玩. 0.Linux服务器学习(比虚拟机双系统舒服多了) 1.流媒体 ...
- 【工具类】Java中判断字符串是否为数字的五种方法
1 //方法一:用JAVA自带的函数 2 public static boolean isNumeric(String str){ 3 for (int i = str.length();--i> ...
- 05-Docker-Container资源限制
目录 05-Docker-Container资源限制 参考 可压缩性 MEM限制 选项说明 压测示例 CPU限制 选项说明 压测示例 05-Docker-Container资源限制 Docker Ve ...
- 排序算法之插入排序的python实现
插入排序的工作原理如下: (1)从数组第一个元素开始(0下标),从该元素开始进行构建有序序列: (2)取出待排序列中第一个元素,然后从“有序”序列中,从后往前扫描: (3)如果该元素(有序序列)大于待 ...
- PyQt5窗口关闭问题---关闭主程序的窗口但子窗口仍显示的问题
使用PyQt5做界面开发时,如果做一个较复杂的程序时往往会涉及到在主程序中打开某个菜单弹出子窗口的问题,如果在打开很多子窗口的时候想一键退出关闭主窗口,但其它的子窗口仍然正常显示着,那么如何在代码中进 ...
- December 28th, Week 52nd Saturday, 2019
If you start at the bottom, pay your dues, life here can be a dream come true. 只要你从头开始,脚踏实地,梦想是可以成真的 ...
- Django模板及路由的配置
学习内容: (1)路由的配置 (2)模板的介绍 (3)模板显示数据 一.路由的配置 以上一篇文章的名字Booketest项目,有一个子模块demo1进行讲解. 1.首先在Booktest项目下的同名子 ...
- beyond compare 用法
1.过滤器用法:点击小眼睛(回话-->回话设置)打开过滤器界面----设置多个过滤文件或目录直接使用回车键 2.比较时最好先设置编码以防出现乱码问题 工具-->文件格式. 3.比较时出现乱 ...
