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或 ...
随机推荐
- LeetCode | No.2 两数相加
题目描述 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序的方式存储的,并且它们的每个节点只能存储一位数字.如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
- mybatis批量插入和更新
批量插入 <insert id="add" parameterType="java.util.List"> insert all <forea ...
- CentOS7.6配置ip
查看CentOS版本信息 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release (Core) 配置ip [root@loca ...
- springboot整合cache报错org.springframework.cache.ehcache.EhCacheCacheManager cannot be cast to net.sf.ehcache.CacheManager
原来的代码 private static CacheManager cacheManager = SpringContextHolder.getBean("cacheManager" ...
- 2、介绍在TensorFlow当中使用不同的方式创建张量tensor
import tensorflow as tf from tensorflow.python.framework import ops ops.reset_default_graph() #开始一个计 ...
- 数据表设计:多对多关系E-R图转换——中间表
链接:https://blog.csdn.net/vainfanfan/article/details/80568784 链接2:https://www.cnblogs.com/hiwangzi/p/ ...
- bootstrap下拉选择框倒三角所占宽度
<select id="edit" class="form-control" style="width:42%;padding-right: 3 ...
- C# 酒店管理系统知识点
identity (m,n)自增 m开始n每次增加的值 默认(1,1) 列名 数据类型 约束 identity(m,n) 重新设置identity的值 1.语法 dbcc checkident ...
- Spring的简单介绍
struts2:web层hibernate:dao层spring:service层 1 spring框架概述 1.1 什么是springSpring是一个开源框架,Spring是于2003 年兴起的一 ...
- 【转】通过python调用jenkins 常用api操作
原:https://www.cnblogs.com/L-O-N/p/11608220.html # -*- coding: utf- -*- import jenkins class TestJenk ...
