8.29c++学习记录

一.内联函数

1.一般情况下,调用函数会开辟栈空间,函数结束时会关闭相应栈空间,而内联函数不会调用函数,不存在调用栈空间,适合于(1).函数代码体积不大(不超过10行)(2).频繁使用的函数的时候使用,递归函数编译器未必让他内联。

2.因为内敛函数的特殊性,假设他函数体里有int a=5,我们多次使用该内联函数,不会因为重复定义而报错。

二.宏

1.内敛函数和宏的区别:(1)两者都可以减少函数调用的开销(2)对比宏,内敛函数多了于法检测和函数特性。

三.++a和a++

a=10

vs2019中

(a++)+(a++)=20

(++a)+(++a)=24

decv++中

(a++)+(a++)=21

(++a)+(++a)=24

四.静态变量

1.static就是在函数里一直有用,没有static,下次下一次调用的时候就是新的了

五.结构体

1.类型顺序改变,结构体字节数也会改变,这涉及到内存字节对齐问题,但是vs2019已经帮你字节数弄到最佳了

六.类前向声明

1.当使用前向引用声明时,只能使用被声明的符号,而不能涉及类的任何细节。可以用指向它的指针。

七.->运算符

在C++中,箭头运算符(->)主要用于访问指向结构或对象的指针的成员。

具体来说,箭头运算符用于从指针中获取所指向的结构或对象的成员。它的语法如下:

ptr->member;

其中,ptr是一个指向结构或对象的指针,member是该结构或对象的成员。

例如,假设有一个结构体Person,它有两个成员变量nameage,现在有一个指向该结构体的指针p,可以使用箭头运算符来访问它的成员:

Person p;
p.name = "John";
p.age = 25;
Person *ptr = &p;
std::cout << ptr->name << " is " << ptr->age << " years old." << std::endl;

输出结果为:

John is 25 years old.

在上面的代码中,ptr是指向p的指针,使用箭头运算符可以访问它的成员变量nameage

八.静态数据成员

1.静态数据成员
  用关键字static声明
  该类的所有对象维护该成员的同一个拷贝
  必须在类外定义和初始化,用(::)来指明所属的类。

九.类里面构造函数与成员函数的区别

1.类中的构造函数和成员函数在功能和用法上有一些区别。

构造函数是一种特殊的成员函数,它是在创建类对象时自动调用的。构造函数的目的是初始化类的成员变量,以确保对象以正确的状态进行操作。构造函数通常具有与类相同的名称,并且没有返回类型。当创建类的多个对象时,构造函数将为每个对象单独调用。

相比之下,成员函数是类中定义的其他函数,它们可以访问类的私有成员变量并执行特定的操作。成员函数可以具有与类相同的名称或不同的名称,并且可以具有不同的参数列表。成员函数可以在类外部或内部定义。

以下是构造函数和成员函数的几个主要区别:

  1. 调用方式:构造函数是在创建对象时自动调用的,无需显式调用。而成员函数需要先创建对象,然后通过对象来调用。
  2. 返回类型:构造函数没有返回类型,因为它们的主要任务是初始化类的成员变量。而成员函数可以具有不同的返回类型,以便执行特定的操作。
  3. 构造函数可以有多个重载形式,以支持不同的参数列表。而成员函数通常只有一个重载形式。
  4. 构造函数可以接受默认参数值,以便创建对象时可以省略某些参数。而成员函数不能具有默认参数值。

总之,构造函数用于初始化类的对象,确保它们以正确的状态进行操作,而成员函数则用于执行类的特定操作。

2.构造函数不具有返回类型,包括void类型。构造函数的目的是创建和初始化对象,因此,其返回类型应该是与类本身相同的类型,即类名。

在某些情况下,可能会看到构造函数被声明为void类型。这通常是因为该函数在某些其他操作中被调用,而不是直接用于创建对象。在这种情况下,构造函数可能会执行一些操作,但不需要返回任何值。

3.构造函数通常与类名相同,但并不是必须这样。在C++中,构造函数可以使用与类名不同的名称,但需要在函数名前面加上类名的限定符。

十.静态成员函数

静态成员函数
类外代码可以使用类名和作用域操作符来调用静态成员函数。
静态成员函数只能引用属于该类的静态数据成员或静态成员函数。

静态成员函数只能引用属于该类的静态数据成员或静态成员函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值