1 static_assert

2 std::nothrow

3 std::ref()

4 std::string

1 static_assert

执行编译时断言检查

语法

static_assert ( bool_constexpr , string ) (since C++11)

解释

bool_constexpr一个布尔常量表达式进行评估

string字符串文字,会出现编译错误,如果bool_constexpr是假的

//调试代码,迅速找出代码错在哪一行

 #include <iostream>

 void main()
{
int num();
short sh(); //调试代码,迅速找出代码错在哪一行
static_assert(sizeof(num) >= , "代码报错 num");//因为sizeof(num) == 4,所以为真,编译成功 static_assert(sizeof(sh) > , "error sh");//因为sizeof(sh) == 2,所以为假,编译失败
//error sh system("pause");
}

2 std::nothrow

处理内存耗尽

#include <iostream>

struct big
{
double db[20000];
}; void main()
{
big *p; p = new(std::nothrow) big[100000];//处理异常 //p = new big[100000]; if (!p)
{
std::cout << "error" << std::endl;
} system("pause");
}

3 std::ref()

实现引用包装器

//模板函数引用无效,因此需要引用包装器

std::ref(),函数模板直接引用

 #include <iostream>
using namespace std; template <class T>
void com(T arg)//模板函数引用无效,因此需要引用包装器
{
arg++;
std::cout << "void com(T arg) " << &arg << std::endl;//地址不一样
} void main()
{
int count();
int & rcount(count);//引用 std::cout << "原来的值" << count << std::endl;// com(&count);//参数是地址 std::cout << "参数是地址" << count << std::endl;//仍然10 com(rcount);//参数是引用 std::cout << "参数是引用" << count << std::endl;//仍然10 std::cout << "main " << &count << std::endl;//地址不一样 //std::ref(变量名),函数模板直接引用
com(std::ref(count)); std::cout << "引用包装器" << count << std::endl;//变成11 system("pause");
}

4 std::string

字符串

//R"(可以把括号内部的转义字符去掉)"

 #include <iostream>

 void main()
{
//R"(可以把括号内部的转义字符去掉)"
std::string path = R"("D:\Program Files\Tencent\QQIntl\Bin\QQ.exe")"; system(path.c_str());//执行 system("pause");
}

#include <iostream>的更多相关文章

  1. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  2. Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include

    问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...

  3. error RC1015: cannot open include file 'afxres.h' 解决办法

    在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...

  4. Mybatis常用总结:参数,返回,执行sql,include等

    1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...

  5. jsp中的@include与jsp:include区别详解

    1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...

  6. JSP中编译指令include与动作指令include的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...

  7. C/C++ 中的include

    当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...

  8. 织梦多语言站点,{dede:include filename=''/}引入问题

    织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...

  9. PHP 站点相对包含,路径的问题解决方法(include,require)

    以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...

  10. 如何让include标签包裹的布局置于屏幕最下方?

    如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性  a ...

随机推荐

  1. 网络解析 get 和post

    //get同步 - (IBAction)getT:(id)sender { //准备一个Url NSURL *url=[NSURL URLWithString:BASE_URL]; //创建一个请求对 ...

  2. [Node.js]expressjs简单测试连接mysql

    下载好node.js和通过npm安装好express.js后,先写package.json { "name": "application-name", &quo ...

  3. windows后台服务程序编写

    Windows后台服务程序编写 1. 为什么要编写后台服务程序 工作中有一个程序需要写成后台服务的形式,摸索了一下,跟大家分享. 在windows操作系统中后台进程被称为 service. 服务是一种 ...

  4. 进程占用百分百CPU不卡(从未试过,当别的程序运行的时候,当前程序还会运行吗?)

    在写程序中.为了让程序效率高.有时会点用很高的CPU.这里用户体验不好可以设置线程的优先级来搞定. BOOL SetThreadPriority( HANDLE hThread, // handle ...

  5. layerX offsetX pageX

    offsetX/offsetY:相对于当前元素的位移x/y:相对于当前座标系的位移,但是IE常常搞错当前座标系layerX/layerY:相对于当前座标系的位移pageX/pageY:相对于网页的位移 ...

  6. CSS左中右布局,规范案例

    html部分 <body> <form id="form1" runat="server"> <div id="wrap ...

  7. C语言入门(15)——结构体与数据抽象

    大多数的计算机运算是对现实世界的模拟,如果想用计算机来模拟现实世界需要用到数据抽象的方法.所谓抽象是从实际的人.物.事和概念中抽取所关心的共同特征,,忽略非本质的细节,吧这些特征用各种概念精确的加以描 ...

  8. poj1007 qsort快排

    这道题比较简单,但通过这个题我学会了使用c++内置的qsort函数用法,收获还是很大的! 首先简要介绍一下qsort函数. 1.它是快速排序,所以就是不稳定的.(不稳定意思就是张三.李四成绩都是90, ...

  9. kubuntu添加windows字体

    1.选取字体 在/usr/share/fonts/truetype中新建一个目录,命名为ms,然后将Windows\fonts 目录下的tahoma.ttf.tahomabd.ttf(Tahoma的粗 ...

  10. java.lang.OutOfMemoryError: PermGen space 解决方案

    只需两步: 将值改为512或者1024,然后CTRL+S,重启tomcat 和eclipse即可.