关键字列表 关键字 解释 alignas 指定变量或类型的最小对齐要求(C++11) alignof 返回类型的对齐要求(C++11) and 逻辑与运算符的替代表示符 and_eq 位与赋值运算符的替代表示符...switch语句 case switch语句中的一个案例分支 catch 捕获异常块 char 字符类型 char16_t 16位Unicode字符(C++11) char32_t 32位Unicode...字符(C++11) class 定义一个类 compl 位非运算符的替代表示符 const 定义常量或常量表达式 constexpr 定义编译时计算的常量表达式(C++11) const_cast 移除对象的常量性...export 模板定义的导出(C++20中重新获得含义) extern 声明一个变量或函数是在其他地方定义的 false 布尔字面量false float 单精度浮点数类型 for 循环控制语句 friend...允许其他类或函数访问私有和保护成员 goto 无条件跳转语句 if 条件语句 inline 建议编译器内联函数 int 整数类型 long 长整型数据类型 mutable 允许const对象的成员被修改
保留关键字,没有具体含义 continue 回到一个块的开始处 default 默认,例如,用在switch语句中,表明一个默认的分支。...null常量 null常量只有一个值null,表示对象的引用为空。 这些对常量的描述都是书上的内容,黑马的教材很专业。我们学校java就是用的他们的教材。...1.5我们来看java中的变量 变量顾名思义,就是可以改变的数据,我们来看如何定义变量。我们来看代码片。 下面展示一些 内联代码片。...我们再来看字符类型变量的使用说明 字符类型是存储单一字符的,我们用char表示,char类型的变量都会占用两个字节。...但其实如果我们int类型的变量的值很大,或者说比byte类型的取值范围要大,我们看发生什么,会不会有缺失。 我们来看代码 下面展示一些 内联代码片。
. 运算符, >> 是流提取运算符 。 4....缺省值必须是常量或者全局变量 4. C 语言不支持(编译器不支持) 六、函数重载 自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载了。...b) { cout char b)" << endl; } void f(char b, int a) { cout char b, int a...在sizeof中含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节个数(32 位平台下占4个字节) 6....引用比指针使用起来相对更安全 八、内联函数 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。
【c++】内联函数 1.1 背景 我们在使用宏的时候,需要特别注意,因为宏是直接替换的,由于运算符优先级不同,很容易导致计算的失误,在c++中,我们很少使用宏,更多的使用内联函数 1.2 内联函数的概念...以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率 如果在上述函数前增加inline关键字将其改成内联函数,在编译期间编译器会用函数体替换函数的调用...常量定义 换用 const enum 短小函数定义 换用 内联函数 2....【c++】函数重载 自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载 比如:以前有一个笑话,国有两个体育项目大家根本不用看,也不用担心。...b) { cout char b)" << endl; } void f(char b, int a) { cout char b, int a)" << endl
cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含头文件中。 运算符,>>是流提取运算符。...b) { cout char b)" << endl; } void f(char b, int a) { cout char b, int a)" << endl...引用比指针使用起来相对更安全 内联函数 内联函数的概念 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。...然而有时候要做到这点并非那么容易 所以,因此C++11给auto赋予了新的含义。...指针空值nullptr NULL实际是一个宏,在传统的C头文件(stddef.h)中 NULL可能被定义为字面常量0,或者被定义为无类型指针(void*)的常量 在C++98中,字面常量0既可以是一个整形数字
2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。 3. 运算符,>>是流提取运算符。 4....3、缺省值必须是常量或全局变量 4、C语言不支持(编译器不支持) 5、函数重载 在现实世界,一个词常常有着不同含义,我们可以同上下问之间的关系来判断词的真正含义,即使该词重载了。...b) { cout char b)" << endl; } void f(char b, int a) { cout char b, int a)" 内联函数 7、1、概念 在函数最开始的时候用inline修饰的函数叫做内联函数,C++编译器会在调用内联函数的地方展开。...C++中的可以代替宏的方案 1、常量定义 换成const enum 2、短小函数定义 换成内联函数 8、auto关键字(C++11) 随着程序的复杂化,类型的使用也将会是多样化。
前言 这篇文章介绍C语言的内联函数、递归函数、函数指针、指针函数、局部地址、const关键字、extern关键字等知识点;这些知识点在实际项目开发中非常常用,非常重要。...内联函数 内联函数: 在调用的时候不会进行压栈出栈(不会经历保存地址的过程和恢复地址的过程)。 内联函数相当于一个替换的过程。 内联函数设计要注意:内联函数里只能写简单的代码—不能写复杂代码。...字符串数组和字符串常量定义问题 #include int main() { //p1指向的字符串是在程序编译的时候赋值 char *p1="1234567890"; //指针指向字符串常量...0; } 示例2: #include int main() { //p1指向的字符串是在程序编译的时候赋值 char *p1="1234567890"; //指针指向字符串常量...语法:int (*p)(int,int); 不支持++和—运算符。 指针函数: 本身是函数,表示函数的返回值是指针类型。语法: int *func(int a,int b){} 函数名称就是地址。
2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。 3. 运算符,>>是流提取运算符。 4....5.函数重载 5.1 函数重载的概念 自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重 载了。...引用比指针使用起来相对更安全 7.内联函数 7.1概念 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。...常量定义 换用const enum 2. 短小函数定义 换用内联函数 8.auto关键字 8.1 类型别名思考 随着程序越来越复杂,程序中用到的类型也越来越复杂,经常体现在:: 1....含义不明确导致容易出错 虽然使用typedef给类型取别名确实可以简化代码,但是typedef有会遇到新的难题: typedef char* pstring; int main() { const pstring
const 作用 修饰变量,说明该变量不可以被改变; 修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer); 修饰引用,指向常量的引用...const 的指针与引用 指针 指向常量的指针(pointer to const) 自身是常量的指针(常量指针,const pointer) 引用 指向常量的引用(reference to const)...const char* p2 = greeting; // 指针变量,指向字符数组常量(const 后面是 char,说明指向的字符(char)不可改变) char* const...p3 = greeting; // 自身是常量的指针,指向字符数组变量(const 后面是 p3,说明 p3 指针自身不可改变) const char* const p4 =...void function2(const char* Var); // 参数指针所指内容为常量 void function3(char* const Var); //
2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。 3. 运算符,>>是流提取运算符。 4....缺省值必须是常量或者全局变量 4. C语言不支持(编译器不支持) 5. 函数重载 自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重 载了。...内联函数 7.1 概念 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调 用建立栈帧的开销,内联函数提升程序运行的效率。...然而有时候要做到这点并非那么容易,因此C++11给auto赋予了新的含义 . 8.2 auto简介 在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的...在C++98中,字面常量0既可以是一个整形数字,也可以是无类型的指针(void*)常量,但是编译器 默认情况下将其看成是一个整形常量,如果要将其按照指针方式来使用,必须对其进行强转(void *)0
运算符,>>是流提取运算符 4.使用C++输入输出更方便,不需要像printf/scanf输出输出时那样手动控制格式。...内联函数 7.1 概念 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。...一般来说,内联机制用于优化规模较小、流程直接、频繁调用的函数。很多编译器都不支持内联递归函数,而且一个75行的函数也不可能在调用内联地展开。...0,或者被定义为无类型指针(void*)的常量。...在C++98中,字面常量0既可以是一个整型数字,也可以是无类型的指针(void*)常量,但是编译器默认情况下将其看成整型常量,如果要将其按照指针方式来使用,必须对其进行强转(void*)0.
内联函数 大家先回顾一下C语言里面的宏,如果写一个Add的宏,最后一种才是正确的,这就证明了宏是不好控制的,因为运算符的优先级的原因等等,所以宏就有一些缺点: 1、容易出错,语法细节多 2、不能调试...,编译时C++编译器会在调用内联函数的地方展开,没有函数调 用建立栈帧的开销,内联函数提升程序运行的效率。...= m.end()) { //.... } return 0; } 使用 typedef 给类型取别名确实可以简化代码,但是 typedef 有会遇到新的难题: typedef char*...然而有时候要做到这点并非那么容易,因此 C++11 给 auto 赋予了新的含义。...在 C++98 中,字面常量 0 既可以是一个整形数字,也可以是无类型的指针 (void*) 常量,但是编译器 默认情况下将其看成是一个整形常量,如果要将其按照指针方式来使用,必须对其进行强转 (
、友元、内联函数、赋值运算符、重载等 C++1.0 添加虚函数概念,函数和运算符重载,引用、常量等 C++2.0 更加完善支持面向对象,新增保护成员、多重继承、对象的初始化、抽象类、静态成员以及const.... 运算符, >> 是流提取运算符 。 4....cout << "hello world" << endl; int a; double b; char c; // >> 流提取运算符 cin >> a; cin >> b >> c;...9.内联函数 内联函数的定义: 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序的运行效率。 ...1.常量定义换用const enum 2.短小函数定义,换用内联函数 10.auto关键字(C++11) 类型别名思考: 随着程序越来越复杂,程序中用到的类型也越来越复杂,经常体现在: 1.
2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。 3. 运算符,>>是流提取运算符。 4....实际上cout和cin分别是ostream和istream类型的对象,>>和运算符重载等知识, 这些知识我们我们后续才会学习,所以我们这里只是简单学习他们的使用。...缺省值必须是常量或者全局变量 4. C语言不支持(编译器不支持) 5. 函数重载 自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重 载了。...内联函数 7.1 概念 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调 用建立栈帧的开销,内联函数提升程序运行的效率。...在C++98中,字面常量0既可以是一个整形数字,也可以是无类型的指针(void*)常量,但是编译器 默认情况下将其看成是一个整形常量,如果要将其按照指针方式来使用,必须对其进行强转(void *)0。
const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符匹配,没有类型安全检查,并且在字符替换中可能会产生意想不到的错误(边际效应)。...有些集成测化的测试工具可以对const常量进行调试,但是不能对宏常量进行调试。 在C++程序中只使用const常量而不使用宏常量,即const常量完全取代宏常量。...sizeof操作符的结果类型是size_t,他在头文件中的typedef为unsigned int类型 sizeof是运算符,strlen是函数 sizeof可以用类型做参数,strlen只能用char...4.内联函数和宏函数的区别是什么? 内联函数和普通函数相比可以加快程序运行的速度,因此不需要中断调用,在编译的时候内联函数可以直接被镶嵌到目标代码中。而宏只是一个简单的替换。...内联函数制作参数类型检查,这是内联函数跟宏比的优势。 inline是指嵌入代码,就是在调用函数的地方不是跳转而是直接把代码写进去。
• 运算符,>>是流提取运算符。...b) { cout char b)" << endl; } void f(char b, int a) { cout char b, int a)" 常量,常量无法修改。...• sizeof中含义不同,引⽤结果为引⽤类型的⼤⼩,但指针始终是地址空间所占字节个数(32位平台下 占4个字节,64位下是8byte) • 指针很容易出现空指针和野指针的问题,引⽤很少出现,引⽤使...⽤起来相对更安全⼀些 inline inline对于编译器⽽⾔只是⼀个建议 ,用inline修饰的函数也叫内联函数,编译的时候C++编译器会在调用的地方将函数内的代码全部展开,这样调用内联函数就不用寄哪里栈帧了
8.1一维数组 定义一维数组的形式:数据类型 数据名[常量表达式] 初始化的形式:数据类型 数组名[常量表达式] = {初值表}; 为数组的某一个元素赋值:数组名[下标] =值(下标从0开始) 数组的引用...:数据类型 数据名[常量表达式1][常量表达式2] 初始化的形式:数据类型 数组名[常量表达式1] [常量表达式2]= {初值表}; 为数组的某一个元素赋值:数组名[行下标][列下标] =值(下标从...内联函数在编译时用内联函数函数的函数体替换,所以不发生函数调用,不需要保护现场,恢复现场,节省了开销。 内联函数增加了目标程序的代码量。因此,一般只将函数规模很小且使用频繁的函数声明为内联函数。...16 运算符重载 所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。...,它们的含义和同名算子一样。
java基础 java是一门基于c研发的语言,不同但相似,针对java下面介绍java的一些基本知识: java注释 在编写程序时,注释可以帮助我们迅速了解到自己代码的含义,在大型项目中也需要注释帮助我们回忆并查找代码...java注释分为三种: 单行注释 // 多行注释 /* */ 文档注释 /** */ 标记符和关键字 java的关键字具有特殊含义,除关键字外其他字均可以作为标记符; 关键字不需要一次性记住,在后面我会慢慢讲述...,double) 字符(char) 引用数据类型包括: 类 接口 数组 数据转换 数据类型的优先级为:byte,short,char->int->long->float->double 当从高到低转换:...,才能使用该变量中的实例变量 变量类型 变量名 = new 变量类() 变量名.实例变量 局部变量:在方法中定义的变量,只能在该方法中使用 常量 常量就是一旦定义不能改变的量...,驼峰原则 常量:全大写+下划线 运算符 运算符分为算术运算符,赋值运算符,关系运算符,逻辑运算符,位运算符,条件运算符,拓展算术运算符 因大部分为常用运算符,含义清楚明了,这里仅做出书写不讲述含义 算术运算符
领取专属 10元无门槛券
手把手带您无忧上云