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. IntentService的使用

    1.为什么需要IntentService 是LocalService的包装类,简便Service的创建,使用的是startService(),也就是访问者退出Service不会消失. 2.实现原理 步 ...

  2. Service(Local Service)简介

    一.Service的作用 主要用于在后台处理一些耗时的逻辑操作,或者去执行某些长期运行的操作. 二.Service的创建 1.主要方法 IBinder onBind(Intent intent):必须 ...

  3. AWS之EC2远程登录

    网上有丰富的免费资源,Amazon的云主机就是开发者和学习者很好的选择. 但你得有一张信用卡,注册个AWS(Amazon web service)账号,就可以有自己公网ip的服务器了!!! 最近在折腾 ...

  4. POJ 3740 DLX

    题意:给你一个01矩阵,然后求是否存在选择一些行,使得每一列的1的个数都为1. 思路:貌似朴素的DFS也可以,加点剪枝就可以过.这里贴个DLX的模版. 推荐博客:http://www.cppblog. ...

  5. Android 打包签名 从生成keystore到完成签名

    进入生成工具:  工具帮助:   输入指令并获得结果:   转自: http://www.cppblog.com/fwxjj/archive/2010/05/24/116208.html 首先,我们需 ...

  6. 全国计算机等级考试二级教程-C语言程序设计_第14章_结构体、共用体和用户定义类型

    函数的返回值是结构体类型 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> struct ...

  7. [置顶] java web 动态服务器

    写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...

  8. windows通过cmd重新启动网卡

    ipconfig/release ipconfig/renew

  9. ftp 解决不能上传问题

    有人建议整个关掉SELinux并且重启,于是我去/etc/selinux/config里面把SELinux给disable了.重启之后,发现可以在/home/sam/test这个文件夹上传了!

  10. Java 初始化字段方式和顺序

    Java 初始化字段方式和顺序: 类加载时直接初始化静态字段; 类加载时调用静态方法初始化静态字段; 实例化对象时,在调用构造函数之前代码块中初始化字段; 实例化对象时,在调用构造函数之时初始化字段; ...