为了能到远方,脚下的每一步都不能少.|
2024-07-04 12:12阅读: 117评论: 2推荐: 0

黑马笔记--C++基础篇--随笔

随手记

随手记一些基础的东西,方便以后自己查阅~

const修饰指针

const修饰的是指针,指针指向可以改,指针指向的值不可以改
    const int* p1 = &a;
const修饰的是常量,指针指向不可以改,指针指向的值可以更改
    int* const p2 = &a;
const既修饰指针,又修饰常量,指针的指向和指针指向的值都不可以改变
    const int* const p = &a;

结构体

"struct Student" 这种看作另类的变量类型,然后照着套就行

栈区的局部变量返回问题

先附上代码:

#include <iostream>
using namespace std;

// 栈区数据不要返回局部变量地址(注意是局部变量,逻辑就是执行完了之后,局部变量被收回了)
int* fun1() {
	int a = 10;
	return &a;
}

int* fun2() {
	int a = 20;
	return &a;
}
int main() {

	int* p = fun1();
	cout << *p << endl; // 第一次可以打印正确的数字是因为编译器做了保留
	fun2();
	cout << *p << endl;
	system("pause");
	return 0;
}

结果:

image-20240709142602409

可以看到,返回了地址,且该地址还未被回收,再次动该地址,就会导致值的改变,这里用了两个不同的函数但是访问到同一个地址,应该和c++的栈区管理机制有关。

此处是类的一些学习笔记,浅浅记录~

类的一些基本概念

类的6个默认函数

当构建一个类时例如

class Date{};

会有6个默认成员函数分别如下(图为sunny-II大佬的,自己比较懒,这里盗用一下QAQ)

之前java课的时候也有些印象,析构函数主要是函数销毁时运行的函数,做一些清理工作。

参考文献

【C++】如果你准备学习C++,并且有C语言的基础,我希望你能简单的过一遍知识点。_c++csdn-CSDN博客

【C++】如果你准备学习C++,并且有C语言的基础,我希望你能简单的过一遍知识点。_c++csdn-CSDN博客
https://blog.csdn.net/weixin_45031801/article/details/133993523

本文作者:超超不会写代码

本文链接:https://www.cnblogs.com/cc8910/p/18283454

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   超超不会写代码  阅读(117)  评论(2编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起