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或 ...
随机推荐
- cgroup的学习笔记
1.cgroup是什么? cgroup是一个linux内核提供的机制.目的是为了做资源隔离,资源限制,资源记录. 2.cgroup怎么安装? yum install cgroup service cg ...
- phpStudy的虚拟站点域名管理
使用phpStudy在本地环境,使用虚拟域名访问本地站点. 步骤: 0x01 修改配置文件 打开站点域名管理 添加你本地站点的路径,第二域名可以不填,网站端口不填的话默认为80. 先点击新增,再点击 ...
- net core调用MimeKit发送QQ邮件
一.在QQ邮箱内申请授权码,具体参考请官方文档 二.具体代码 public void TestSendMailDemo() { MimeMessage message = new MimeMessag ...
- CSS3的一个伪类选择器:nth-child()
CSS3的一个伪类选择器“:nth-child()”. Table表格奇偶数行定义样式: 语法: :nth-child(an+b) 为什么选择她,因为我认为,这个选择器是最多学问的一个了.很可惜,据我 ...
- 红帽RHCE培训-课程2笔记目录
目录 1 kickstart自动安装 DHCP+TFTP(syslinux) +FTP +KICKSTART ~/anaconda-ks.cfg system-config-kickstart 2 g ...
- 李超线段树(segment[HEOI2013]-洛谷T4097)
(neng了好久好久才糊弄懂得知识点...) 一.李超线段树 在线动态维护一个二维平面直角坐标系, 支持插入一条线段, 询问与直线x = x0相交的所有线段中,交点y的最大/小值 (若有多条线段符合条 ...
- GO:go语言介绍
什么是go语言 Google开源 编译型语言 21世纪的C语言 go开发团队: go的特点 语法简洁 开发效率高 执行性能好 发展现状 最近新兴的行业公司一般会使用go语言作为主要开发语言 容器虚拟化 ...
- javaweb项目运转流程
做web项目,不仅要会做,还需要了解其工作流程,为什么这么做!这些知道了.其他的都是渣渣.上图!对于web 项目了解他的运行流程之后,基本其他的都不是问题.web项目还是很简单的 这是简化的开发时常用 ...
- disconf---分布式配置管理平台的搭建(linux版本)
一.获取disconf的代码 地址:https://github.com/knightliao/disconf 二.搭建基础服务 ①redis,mysql,zookeeper在博主的其他博文中有相应搭 ...
- 计算机二级C语言选择题错题知识点记录。
计算机二级C语言选择题错题知识点记录. 1,在数据流图中,用标有名字的箭头表示数据流.在程序流程图中,用标有名字的箭头表示控制流. 2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用g ...
