自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C++:system(“pause“)底层发生了什么?(自学使用,欢迎指正)

C++:system("pause")

2025-12-02 15:41:11 227

原创 C++详解:getchar()标准库函数的背后发生了什么?(自学使用,欢迎指正)

C++:getchar()

2025-12-02 15:26:26 325

原创 达克效应初读

因此,正如“初生牛犊不怕虎”这句成语所言,由于眼界所限,他们往往看不到远方的危险和障碍,而他们又不可能凭空想象到天究竟有多高,地究竟有多厚。而由于他们的无知,导致他们甚至不知道自己是无知的。如果我们跟小朋友们打交道,通常会发现,他们都对自己的所知甚少的粗略见识显得极度自信,甚至可以说是极度膨胀:他们普遍认为自己在某方面可以排在世界前几名。直到某一天(这一天也有可能永远都不会到来),一个这样的盲目自大者突然遇到了真正的强者,这个强者的做的某件事,颠覆了他的世界观,将他的盲目自信和骄傲自大顷刻间摧毁殆尽。

2025-06-30 10:44:25 271

原创 C++:常量

在C89/C90中,这段代码就是错的,因为n被认定为一个只可读不可写的变量,并不是一个常量,而C89/90不支持可变长度数组(VLA),所以会报错,但是C99中引入了该概念。在C99中,使用ocnst方法定义的并不能称为常量,而是被称为变常量,也就是说,在C99中,const定义的量是一个只读的变量。在C++中,常量就是程序运行过程中其值不可以被修改的量。定义的结尾不能带分号,因为它不是一条语句;注意事项:常量必须在定义的时候进行赋值!不可以使用赋值符定义;

2025-04-28 19:39:35 147

原创 C++:inline函数

我们知道,在C++函数调用的过程中,会涉及到形参空间的分配、实参变量的拷贝以及函数入口转换等过程所以会小号大量的时间和空间。所以,在C++中使用宏定义就是一个很方便的方法,因为宏定义在编译时就进行了直接替换,避免了函数调用的开销。首先,执行++num,num变量变为-1,这时候小于0,所以,返回三目运算符的第二项,但是这时候在第二项内,又要执行一次++num,所以返回的结果-(++num)为0。这时候与我们期望得到的结果是不一致的。这是因为宏定义只是进行简单的替换操作,所以有时候会出现副作用。

2025-04-28 18:25:51 238

原创 为什么unsigned char类型是C/C++唯一规定的适合直接访问内存的数据类型?

C/C++具有严格的别名规则,在C11/C++17中,禁止通过不兼容类型的指针访问对象(例如:用int* 访问 float对象),但是unsigned char*是例外。适合逐字节处理内存(比如memcpy、memset的底层实现通常是基于unsigned char*)unsigned char 避免了符号位扩展带来的问题,确保位模式的直接解释。这意味着,它可以直接映射到内存的最小可寻址单元。

2025-04-24 13:04:55 327

原创 指针堆栈空间

在delete完ptr之后,最好将其置为nullptr,否则会出现野指针的情况。答:ptr指针变量在栈上;指向的变量5在堆上;这段代码中,变量是在堆还是栈上?

2025-04-23 23:49:24 115

原创 详解C++:unsigned char类型

C++中,char可以是有符号的,也可以是无符号的。在有些编译器中,char是无符号的,但是在有些编译器中,char是有符号的。从技术上来讲,unsigned char、signed char、char这三种都既可以当作字符来用,又可以当作小整形来用。unit8_t是C99/C++11中引入的类型,是精确八位无符号整数的别名,但是在某些平台上可能不支持该类型;若使用signed char 类型,表示范围是-128~127,超过127的值会解释为负数,在处理文件字节流、图像像素时容易发生错误。

2025-04-23 22:15:54 1203

原创 C++中的数据类型

【代码】C++中的数据类型。

2025-04-23 20:58:28 201

原创 C++:mutable

mutable一个重要的作用,就是在const修饰的成员函数中,对某些变量进行修改。因为我们知道,当一个成员函数被const修饰之后,那么这个成员函数就不可以去修改类中的成员变量,起到了一个保护成员变量的作用。实现的一个思想是,维护一个private整型变量,去记录调用的次数,再通过第二个函数输出这个变量。事实上,在C++中,mutable就是为了突破const的限制为设置的。那么,有有人有疑问了,直接把函数方法改成非const不就行了,但是,我们只是想改某个变量,其余还是要维护的吗,所以这个方法不可行。

2025-04-23 18:46:30 251

原创 Volatile指针

3. C++中一个有volatile标识符的类只能访问它接口的子集,一个由类的实现者控制的子集。此外,volatile向const一样会从类传递到它的成员。类似于const成员函数中所有成员变量均被视为const变量,在volatile成员函数中,所有成员变量也均被视为volatile。一个类示例被声明为volatile,那么通过这个volatile对象只能调用该类中被标记为volatile的成员函数。之所以说,是由类的实现者实现的子集,是因为给哪些成员函数标识上volatile的标记,完全由实现者决定。

2025-04-23 17:24:59 630

原创 C++:Volatile变量修饰符的基本语义

C++变量基础

2025-04-22 22:42:11 250 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除