##是一个连接符号,用于把参数连在一起 #是“字符串化”的意思。出现在宏定义中的#是把跟在后面的参数转换成一个字符串#define paster( n ) printf( "token " #n" = %d\n ", token##n ) 所以paster(9);就是相当于 printf ...
C 中的.和::和:和 gt 的区别 在学习C 的过程中我们经常会用到.和::和:和 gt ,在此整理一下这些常用符号的区别。 A.B则A为对象或者结构体 A gt B则A为指针, gt 是成员提取,A gt B是提取A中的成员B,A只能是指向类 结构 联合的指针 ::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间 类 结构 ::还可以调用类的静态成员或静态函数 如A::Star ...
2020-02-26 12:15 0 1040 推荐指数:
##是一个连接符号,用于把参数连在一起 #是“字符串化”的意思。出现在宏定义中的#是把跟在后面的参数转换成一个字符串#define paster( n ) printf( "token " #n" = %d\n ", token##n ) 所以paster(9);就是相当于 printf ...
参考:https://zhidao.baidu.com/question/1494117716904764979.html 问题说明:在Dev中1/0会报错“除数不得为0”,但是1/0.0不报错,并且有结果(INF)。 解决:计算机对于浮点数存储是不精确的,于是判断一个值是否为0的方式都是制定 ...
以#开头的都是预编译指令,就是在正式编译之前,编译器做一些预处理的工作#if 条件语句程序段1 //如果条件语句成立,那么就编译程序段1#endif程序段2//如果条件不语句成立,那么就编译程序段2# ...
: 一、局部静态变量 在C/C++中,局部变量按照存储形式可分为三种auto,static,registe ...
static主要有三个作用: (1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 前两种C和C++都有,第三种仅在C++中有,下面分别作以下介绍: 一、局部静态变量 在C/C++中, 局部变量按照存储形式可分为三种auto, static ...
C语言中: Struct是用户自定义数据类型(UDT)。 C++语言中: Struct是抽象数据类型(ADT),支持成员函数的定义。 在C++中,struct的成员的默认访问说明符 ...
1.vector数据结构vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。因此能高效的进行随机存取,时间复杂度为o(1);但因为内存空间是连续的,所以在进行插入和删除操作时,会造成内存块的拷贝,时间复杂度为o(n)。另外,当数组中内存空间不够时,会重新申请一块内存空间并进 ...
,返回值类型。值得注意的是,在C语言中,有一点跟C++不同,对于带空参数表的函数如:int func();在 ...