【前言】——C++基本概念
2016-04-20 18:52
381 查看
1.命名空间
定义命名空间的目的: 防止出现名称冲突现象。命名空间可以讲不同的代码封装在有效的范围内。
命名空间需要使用 using 来声明,并且每个命名均需要使用 using。
2.头文件
C++中的头文件都没有扩展名。
原有的C语言体系中的头文件部分仍然以 .h 的扩展名存在。部分升级到C++体系中而不存在,开头以 c 来标识,例如 cmath , cstring。
头文件中包含:各种声明、常量定义、预编译、注释、类型定义、模板定义等。
源文件中包含:常规的函数定义、数据定义、导出的模板定义等。
3.typedef 的使用
typedef 为每个类型声明一个新的名字(标识符)。
4.结构体和类的区别
(1). C语言的结构体中不能有函数,而C++结构体和类中可以有函数。
(2). C++结构体内部成员变量及成员函数默认的访问级别是public,而c++类的内部成员变量及成员函数的默认访问级别是private。
(3). C++结构体的继承默认是public,而c++类的继承默认是private。
5.变量的指针和指针变量
变量的指针:一个变量的地址称为该变量的“指针”。
指针变量: 指针变量是一个变量,用来存储某个变量的地址。 int *ptr;
指针变量 ptr 的值式所指变量的地址。cout << ptr << endl;
解引用 *ptr 的值式所指变量的内容。 cout << *ptr << end;
6.静态创建和动态创建
静态创建:是指在声明的时候,即给定数组的长度。例如:int array[20];
动态创建:使用 new 动态的创建数组,动态创建必须使用delete[]释放其占用的内存,不然会导致内存泄漏。例如:
cin >> size;
int *ptr = new int[size];
......
delete[] ptr;
7.函数调用
两种形式:(1)、赋值调用 (2)、引用调用
赋值调用:将实参的值复制给形参,实参不受影响。
应用调用:将实参的地址复制给形参,实参会受影响。
8.auto、static、register、extern
auto:默认类型,可以省略不谢。
static:静态存储类型,当希望函数中的局部变量的值在函数调用结束后不消失而保留原值时,可以用static声明该变量。
register:声明一个“寄存器变量”,可以将该变量的值保存在CPU的寄存器中。
extern:外部变量声明,表示该变量已经在其他文件中定义了。
9.#pragma的作用
详细内容见博文《C++中的pragma的作用》
定义命名空间的目的: 防止出现名称冲突现象。命名空间可以讲不同的代码封装在有效的范围内。
命名空间需要使用 using 来声明,并且每个命名均需要使用 using。
#include <iostream> using namespace std;using namespace std; 可以放在源代码的任意位置,不同的位置表示std不同的有效范围。
2.头文件
C++中的头文件都没有扩展名。
原有的C语言体系中的头文件部分仍然以 .h 的扩展名存在。部分升级到C++体系中而不存在,开头以 c 来标识,例如 cmath , cstring。
#include <iostream> #include <string> #include <stdio.h> #include <cmath>
头文件中包含:各种声明、常量定义、预编译、注释、类型定义、模板定义等。
源文件中包含:常规的函数定义、数据定义、导出的模板定义等。
3.typedef 的使用
typedef 为每个类型声明一个新的名字(标识符)。
typedef int INT_32 typedef short INT_16 typedef unsigned char UCHAR
4.结构体和类的区别
(1). C语言的结构体中不能有函数,而C++结构体和类中可以有函数。
(2). C++结构体内部成员变量及成员函数默认的访问级别是public,而c++类的内部成员变量及成员函数的默认访问级别是private。
(3). C++结构体的继承默认是public,而c++类的继承默认是private。
5.变量的指针和指针变量
变量的指针:一个变量的地址称为该变量的“指针”。
指针变量: 指针变量是一个变量,用来存储某个变量的地址。 int *ptr;
指针变量 ptr 的值式所指变量的地址。cout << ptr << endl;
解引用 *ptr 的值式所指变量的内容。 cout << *ptr << end;
6.静态创建和动态创建
静态创建:是指在声明的时候,即给定数组的长度。例如:int array[20];
动态创建:使用 new 动态的创建数组,动态创建必须使用delete[]释放其占用的内存,不然会导致内存泄漏。例如:
cin >> size;
int *ptr = new int[size];
......
delete[] ptr;
7.函数调用
两种形式:(1)、赋值调用 (2)、引用调用
赋值调用:将实参的值复制给形参,实参不受影响。
应用调用:将实参的地址复制给形参,实参会受影响。
8.auto、static、register、extern
auto:默认类型,可以省略不谢。
static:静态存储类型,当希望函数中的局部变量的值在函数调用结束后不消失而保留原值时,可以用static声明该变量。
register:声明一个“寄存器变量”,可以将该变量的值保存在CPU的寄存器中。
extern:外部变量声明,表示该变量已经在其他文件中定义了。
9.#pragma的作用
详细内容见博文《C++中的pragma的作用》
相关文章推荐
- VC++采集txt文本中的两列数据
- C语言简易计算器
- C++ template
- C++:undefined reference to vtable 原因与解决办法 [转]
- C++实验4—乘法口诀表
- ubuntu 下配置eclipse C/C++环境及自动补全等设置
- c++11 正则表达式 替换匹配子串
- c++11 线程池
- c语言格式字符串 % lf 和 %f
- C++格式控制符
- leetcode笔记:Remove Duplicate Letters
- C++基础
- C++实现FFT代码
- POJ 2251 Dungeon Master 比较有趣的三维迷宫bfs搜索路径
- windows C/C++自定义函数入口
- C++里的继承和多态(上)
- POJ 1321棋盘问题(简单搜索)
- C++实现string类字符串单词的逆序输出
- C语言08字符串 & 预处理 & 结构体
- C++面试总结