C++ 基础
输入与输出:(iostream)
#include <iostream> using namespace std; int main(){ cout << "hello" << endl; // endl: 结束当前行,并将与设备关联的缓冲区中的内容刷到设备中 int v1,v2; cin >> v1 >> v2; return 0; }
字面值:字面值常量的形式和值决定了他的数据类型。
十进制:int、long、long long中最小那个
八进制、十六进制:int、unsigned int、long、unsigned long、long long、unsigned long long中最小那个。
尽管整型字面值可以存在带符号数据类型中,但严格来说十进制不会是负数,如-42,负号并不在字面值之内,他的作用仅仅对字面值取负数而已
默认初始化:定义于任何函数体之外的变量被初始化为0,定义在函数体内的内置变量将不被初始化。
声明和定义:声明规定变量的类型和名字,而定义还申请存储空间,也可能会为变量赋一个初始值。(变量可以被声明多次,但只能定义一次)
extern int i ; // 声明 int j; // 定义 extern int i = 0; // 定义
引用:为对象起另外的名字,必须初始化,必须严格匹配类型
int a = 0; int &r = a; int &r1; // 必须初始化 double i = 3.14; int &r2 = i; // 类型不匹配
指针:
void* 指针:可用于存放任意对象的地址。但不能对其的指向的对象进行操作(不知道具体类型),仅仅是内存空间。
const:(仅在文件内有效)必须初始化,不能改变的值。编译器将在编译过程中把用到该常量变量的地方都替换成对应的值。
const int i = get_size(); const int j = 42; const int j; // 错误,必须初始化
const的引用:对常量的引用不能被用作修改它所绑定的对象。
const int ci = 1024; const int &r1 = ci; r1 = 42; // 错误,不能修改常量的引用 int &r2 = ci; // 错误,不能让一个非常量引用指向一个常量对象
指针和const:
const double pi = 3.14; double *ptr = π // 错误,不是指向常量的指针 const double *cptr = π *cptr = 42; // 错误指向常量的指针不能改变指向的值 int err_num = 0; int *const curErr = &err_num; // 常量指针 curErr只能一直指err_num
预处理器:预处理器是在编译之前执行的一段程序,当预处理器看到#include 标志是就会用指定的头文件的内容代替#include。
头文件保护符:头文件保护符依赖于预处理变量(无视作用域的规则),预处理变量有俩种状态:已定义和未定义。#define 指令把一个名字设定为预处理变量,另外俩个指令则是分别检查某个指定的预处理变量是否已经定义:#ifdef 当且仅当变量已定义时为真,#ifndef 当且仅当变量未定义时为真。一旦检查结果为真,则执行后续操作直至遇到#endif 指令为止。
// 防止重复包含的发生 #ifndef SALES_DATA_H #define SALES_DATA_H ..... #endif
原文地址:https://www.cnblogs.com/xcxy-boke/p/11318289.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Day4.Linux用户权限
- 如何使用Canal同步MySQL的Binlog到Kafka
- Go 每日一库之 gabs
- 如何将Flink应用的日志发送到kafka
- 锦囊篇|Java中的SPI机制
- webpack实战——生产环境配置【上】
- 深度阅读之《Concurrency in Go》
- 为了不让代码看起来像一坨* 我在工作中反复用了这个
- 在 Go 语言中 Patch 非导出函数
- SpringCloud 配置中心服务端配置解析流程分析
- Qt多线程编程之线程池
- PWN:Tcache Attack原理
- [Go]GO语言实战-GO-FLY在线客服cobra库命令行参数解析
- [Go]GO语言实战-GO-FLY在线客服gorm导入sql文件
- Day7.数据类型-集合