#include <iostream>
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>的更多相关文章
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include
问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...
- error RC1015: cannot open include file 'afxres.h' 解决办法
在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...
- Mybatis常用总结:参数,返回,执行sql,include等
1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...
- jsp中的@include与jsp:include区别详解
1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...
- JSP中编译指令include与动作指令include的区别
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...
- C/C++ 中的include
当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...
- 织梦多语言站点,{dede:include filename=''/}引入问题
织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...
- PHP 站点相对包含,路径的问题解决方法(include,require)
以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...
- 如何让include标签包裹的布局置于屏幕最下方?
如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性 a ...
随机推荐
- Scrapy入门程序点评
1,引言 在<Scrapy的架构初探>一文,我基于爬虫开发的经验对Scrapy官网文章作了点评和解读,事件驱动的异步处理架构.极强的模块化等是个绝好的框架,接着我细读了官网的<Scr ...
- Python简明教程---学习笔记
字符双引号括起,数字不括: 分隔符为逗号(,),不能为空格 变量定义时即赋值 采用utf-8编码:#-*-coding:utf-8-*-或者#coding:utf-8 字符串定义:单/双引号括起 %符 ...
- VB2012读取xml
上回谢了生成写xml的,现在把读取的补上 文件如下 <?xml version="1.0" encoding="UTF-8" standalone=&qu ...
- JNDI(转载)
转自:http://javacrazyer.iteye.com/blog/759485 原理: 在DataSource中事先建立多个数据库连接,保存在数据库连接池中.当程序访问数据库时 ...
- Hibernate摘记
原理: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mapping reso ...
- jQuery创建节点
注:摘自<锋利的jQuery(第二版)> 创建元素节点 例如要创建两个<li>元素节点,并且要把它们作为<ul>元素节点的子节点添加到DOM节点树上.完成这个任务需 ...
- jQuery学习-事件之绑定事件(七)
今天来说说事件中的handlers方法中的一个片段 1 matches[ sel ] = handleObj.needsContext ? 2 jQuery( sel, this ).in ...
- js数值转换
先来几个题吧: var num1 = Number("123blue");var num2 = Number("");var num3 = Number([]) ...
- C语言入门(17)——C语言数组应用的一个实例
本篇通过一个实例介绍使用数组的一些基本模式.问题是这样的:首先生成一列0-9的随机数保存在数组中,然后统计其中每个数字出现的次数并打印,检查这些数字的随机性如何.随机数在某些场合(例如游戏程序)中是非 ...
- poj3086---数论
#include <stdio.h> #include <stdlib.h> int T(int n) { ,i; ;i<=n;i++) { sum+=i; } retu ...