C++11 :用户定义字面量

  用户自定义字面值,或者叫“自定义后缀”更直观些,主要作用是简化代码的读写。#include<iostream>longdoubleoperator""_mm(longdoublex){returnx/1000;}longdoubleoperator"&q

#C++ 11  

C++11:常量表达式

constexpr  C++本身已经具备了常数表达式的概念,比如1+2,3*4这种表达式总是会产生相同的结果并且没有任何副作用。如果编译器能够在编译时就把这些表达式直接优化并植入到程序运行时,将能增加程序的性能。一个非常显著的例子就是在数组的定义阶段:#defineLEN10intlen_foo()

#C++ 11  

C++11:强类型枚举

  C++11引入了一种新的枚举类型,即“枚举类”,又称“强类型枚举”。声明请类型枚举非常简单,只需要在enum后加上使用class或struct。如:enumOld{Yes,No};//oldstyleenumclassNew{Yes,No};//newstyleenumstructNew2{Ye

#C++ 11  

C++11:基于范围的for循环、静态断言

基于范围的for循环  C++11加强了for语句的功能,以更好的支持用于遍历集合的for_each范式。在新的形式中,用户可以使用for去迭代遍历C风格的数组、初始化列表,以及所有非成员begin()和end()被重载的容器。  当你仅仅想获取集合/数组中的元素来做一些事情,而不关注索引值、迭代器

#C++ 11  

C++11:初始化

  初始化是一个非常重要的语言特性,最常见的就是对对象进行初始化。在传统C++中,不同的对象有着不同的初始化方法,例如普通数组、POD(plainolddata,没有构造、析构和虚函数的类或结构体)类型都可以使用{}进行初始化,也就是我们所说的初始化列表。而对于类对象的初始化,要么需要通过拷贝构造、

#C++ 11  

C++11:类型推导

  在传统C和C++中,参数的类型都必须明确定义,这其实对我们快速进行编码没有任何帮助,尤其是当我们面对一大堆复杂的模板类型时,必须明确的指出变量的类型才能进行后续的编码,这不仅拖慢我们的开发效率,也让代码变得又臭又长。  C++11引入了auto和decltype这两个关键字实现了类型推导,让编译

#C++ 11  

C++ 11学习笔记 🔥

什么是C+11  C++11标准为C++编程语言的第三个官方标准,正式名叫ISO/IEC14882:2011-Informationtechnology--Programminglanguages--C++。在正式标准发布前,原名C++0x。它将取代C++标准第二版ISO/IEC14882:2003

#C++ 11