C++ 基础

时间:2019-08-07
本文章向大家介绍C++ 基础,主要包括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 = &pi;   // 错误,不是指向常量的指针
const double *cptr = &pi;   
*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