您的位置:首页 > 编程语言 > C语言/C++

C++查漏补缺

2017-06-17 10:24 267 查看

已学知识

inline

#define

const 与普通变量、指针变量、引用变量

const重出江湖:初始化列表

const三出江湖:

数据类型

基本数据类型:整型、字符型、实型(浮点型)

构造类型:枚举、数组、结构体、共用体

指针类型:

空类型:

数组的操作

strlen(s):获得字符串的长度(单位字节)

strcmp(s1,s2):比较字符串

strcpy(s1,s2):字符串拷贝

strcat(s1,s2):把字符串s2拼接到字符串s1后

atoi(s1):字符串转换为整数

内存管理

栈区

堆区

全局区

常量区

代码区(构造函数课程中)

int *p = new int; *p = 3;
int *p = new int(3);
int *p = new int[100];
if(p == NULL);  // 判断内存申请是否成功
delete p;
delete []p;
p = NULL;   // 释放后将指针指向空


构造函数

有参默认构造函数:声明的时候加了默认值,定义的时候就不需要写了。

public:
Teacher(string name = "Jim", int age = 1);
Teacher::Teacher(string name, int age)
{
}


初始化列表

初始化列表的方式初始化数据:

Teacher::Teacher(string name, int age):m_strName(name),m_iAge(age)
{
}


好处是当数据成员被const修饰时,此方法依旧可行。

指针与数组

int a[3] = {1,3,5};
int *p = a;
cout << a[0] << "," << (a+1)[1] << "," << a[2] << endl; // 1,5,5
cout << p[0] << "," << (p+1)[1] << "," << p[2] << endl; // 1,5,5
cout << *p << "," << *p+1 << "," << *(p+2) << endl; // 1,2,5


结论:

指针变量 p 等同于数组名 a ,(p+1)等同于p[0+1]。

指针变量搭配基本数据类型时用 *(p+1) 取值,搭配对象时用 (p+1)->取值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: