栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++学习记录

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++学习记录

2021.11.10

程序中的内存模型:

C++在程序运行之前分为全局区和代码区

代码区:存放CPU执行的机器指令,

        共享,对于频繁被执行的程序,只需要在内存中有一份代码即可

        只读,防止程序意外地修改了指令

全局区:存放全局变量、静态变量、常量(存放const修饰的全局变量、字符串常量),该区域的数据在程序结束后由操作系统释放。

不在全局区中:局部变量、const修饰的局部变量

栈区:由编译器自动分配释放,存放函数的参数值、局部变量等(不要返回局部变量的地址,栈区开辟的数据由编译器自动释放)

堆区:由程序员分配释放,若程序员不释放,程序结束时由操作系统回收,利用new在堆区中开辟内存。如 

int * a = new int(10);      //10表示整形10
int * arr = new int[10];    //10表示数组有10个元素

   若果想释放堆区的数据,利用关键字delete。

delete a;
delete []arr;
C++中的引用

作用:给变量起别名

语法:数据类型  &别名  = 原名

int a = 10;    
int &b = a;    //引用必须初始化,引用在初始化后不可以改变

1.引用作函数参数

void swap(int &a, int &b)    //引用传递,形参会修饰实参,地址传递(指针)也可以
{
    int temp = a;
    a = b;
    b = temp;
}

2.引用做函数返回值

int &a = test();              //不要返回局部变量引用
cout << "a = " << a << endl;
test() = 1000                //如果函数的返回值是引用,这个函数调用可以作为左值
cout << "a = " << a << endl;

3.引用的本质:在C++内部实现就是指针常量

int& ref = a;        //相当于  int* const ref = &a ;

************************************分割线******************************************************

2021.11.11

函数

1.函数的默认参数

如果某个位置参数有默认值,那么这个位置往后,从左向右,必须要有默认值;如果函数声明有默认值,则函数实现的时候就不能有默认参数(二者只有一个有默认参数)。

2.占位参数

返回函数值类型    函数名(数据类型){ }        

void func(int a, int)    //占位参数还可以有默认值,如  void func(int a ,int = 10)
{}

3.函数重载

满足条件:①同一个作用域;②函数名相同;③函数参数类型不同,或者个数不同,或者顺序不同

void func() { }
void func(int a) { }
void func(int a ,double b) { }
void func(double a , int b) { }
类和对象

1.类的访问权限:

public        公共权限        类内可以访问        类外可以访问

protected        保护权限        类内可以访问        类外不可以访问

private        私有权限        类内可以访问        类外不可以访问

2.class和struct的区别

class默认权限是私有权限,struct默认权限是private

3.成员属性私有化

①可以自己控制读写权限;②对于写权限,我们可以检测数据的有效性。

4.构造函数和析构函数

构造函数语法:类名(){ }

①没有返回值,不写void;②函数名称与类名相同;③构造函数可以有参数,因此可以放声重载;④程序在调用对象的时候会自动调用构造,无需手动调用,而且只会调用一次。

析构函数语法:~类名(){ }

①没有返回值,不写void;②函数名称和类名相同,因此在名称前加上符号~;③析构函数不可以有参数,因此不能发生重载;④程序在对象销毁前会自动调用析构函数,无需手动,只调用一次。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510019.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号