c++11之三: sizeof运算符 auto的优势 __func__预定义标识符

在C++11中,对非静态成员变量使用sizeof操作是合法的。

auto推导的一个最大优势就是在拥有初始化表达式的复杂类型变量声明时简化代码。如:std:vector<std::string>::iterator i = vs.begin(); 可改成 auto i = vs.begin();

auto的第二个优势在于可以免除在一些类型声明时的麻烦,或者避免一些类型声明时的错误。

__func__预定义标识符基本功能就是返回所在函数的名字,在c++11中,标准甚至允许其使用在类或者结构体中。

c++11之三: sizeof运算符 auto的优势 __func__预定义标识符

时间: 2024-10-14 12:23:54

c++11之三: sizeof运算符 auto的优势 __func__预定义标识符的相关文章

C++11 __func__预定义标识符

[1]__func__预定义标识符 很多现在的编译器都支持C99标准中的__func__预定义标识符功能,其基本功能就是返回所在函数的名字. 常见的用法,看下面这个例子: #include <iostream> using namespace std; const char* hello() { return __func__; } const char* world() { return __func__; } int main() { cout << hello() <&

c/c++ sizeof运算符详解以及对象大小

原文:http://krystism.is-programmer.com/posts/41468.html 学过c的都知道sizeof运算符.不过还是需要注意以下几点.先从c的sizeof说起: 1. sizeof 是运算符,而不是函数.虽然我们习惯sizeof(...),但( )并不是必需的,它只是表示优先级.我们把sizeof后面的目标叫对象或者操作数.本文约定就叫sizeof对象. 2. 当sizeof 的对象是表达式时,求的大小是表达式返回值的类型大小,但并不计算表达式的值,比如 ? 1

sizeof运算符

sizeof运算符返回一条表达式或一个类型名字所占的字节数.sizeof运算符满足右结合律,其所得的值是一个size_t类型的常量表达式.运算符的运算对象有两种形式: sizeof(type) sizeof expr 在第二种形式中,sizeof返回的是表达式结果类型的大小.与众不同的一点是,sizeof并不实际计算其运算对象的值: Sales_data data,*p; siizeof(Sales_data);   //存储Sales_data类型的对象所占的空间大小 sizeof data;

【原创】sizeof运算符总结

sizeof运算符返回一条表达式或一个类型名字的所占字节数,返回值为size_t的常量表达式,注意:sizeof右结合,且为编译时计算,而非运行时 两种形式:sizeof (type)和sizeof expression sizeof计算的永远是类型所占字节数,如果是数组则计算数组的长度乘以元素类型字节数:所以对于第二种形式,计算的是expression表达式结果的类型大小,而不是表达式的值 sizeof运算符不是实际求表达式的值,所以sizeof *p,即使p是无效指针,也是安全的,得到的是*

【C++11】新特性——auto的使用

转自 http://blog.csdn.net/huang_xw/article/details/8760403 C++11中引入的auto主要有两种用途:自动类型推断和返回值占位.auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除.前后两个标准的auto,完全是两个概念. 1. 自动类型推断 auto自动类型推断,用于从初始化表达式中推断出变量的数据类型.通过auto的自动类型推断,可以大大简化我们的编程工作.下面是一些使用auto的例子. [cpp] vi

sizeof运算符、strlen()函数和转义字符

本篇文章posted on 2019-12-23 12:58 本人之前写过一篇类似的文章(链接:sizeof运算符和strlen()函数),也比较深入,但是和本篇相比,本篇更加深入. 首先请看下面的代码,这个代码应该输出什么. 下面是C语言代码. 1 #include<stdio.h> 2 3 int main(void) 4 { 5 int a=2,b=0; 6 sizeof(b=a++); 7 printf("a=%d,b=%d\n",a,b); 8 return 0;

c++11 新特性之 auto关键字

C++11是对目前C++语言的扩展和修正.C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto.decltype,和模板的大量改进. g++编译c++11命令加上 -std=c++11 C++11中引入auto第一种作用是为了自动类型推导 auto的自动类型推导,用于从初始化表达式中推断出变量的数据类型.通过auto的自动类型推导,可以简化我们的编程工作 auto实际上实在编译时对变量进行了类型推导,所以不会对程序的运行效率造成不良影响另外,似乎auto并不会影响编译速度,

sizeof运算符、malloc函数及free函数

一.sizeof运算符的用法 1.sizeof运算符给出某个类型或变量在内存中所占据的字节数. int a;  sizeof(a)=4;  //sizeof(int)=4; double b;  sizeof(b)=8;  //sizeof(double)=8; 2.数组的sizeof值等于数组所占用的内存总字节数. 如:char a[] = "yes";  sizeof(a);  // 结果为4,字符末尾还存在一个NULL终止符 int a[3];  sizeof(a);  // 结

C语言之字符集、ASCII码和sizeof运算符

一 字符集和ASCII码 结论:字符本质上也是一个整数,每个字符都有唯一一个与之对应的整数, 比如说小写的a对应97,b对应98,c对应99,大写的A对应65,B对应66,C对应67 所以字符对应的那个数字,也可以称之为ASCII码值 二 sizeof运算符 sizeof: 用法:sizeof(类型);  sizeof(变量); sizeof(常量); 可以计算这个类型或者变量或者常量占用的字节数 tips: sizeof结果是unsigned long类型(unsigned long; 无符号