- 博客(9)
- 收藏
- 关注
原创 条件表达式中指针的注意事项
之间存在重要的区别,主要体现在短路求值(Short-circuit evaluation)的行为上。会导致未定义行为(Undefined Behavior,UB),通常会导致程序崩溃。,然后再调用成员函数。这样可以避免潜在的未定义行为和程序崩溃。语句中的条件表达式是从左到右进行求值的。在编写条件表达式时,始终要确保先检查指针是否为。,然后再调用成员函数。为了避免未定义行为,应该先检查指针是否为。:可能导致未定义行为,因为如果。,从而避免了未定义行为。:安全的写法,先检查。,避免了未定义行为。
2025-05-13 22:10:33
266
原创 C++中精度操作和字节对齐
用于设置字段宽度,即输出的最小宽度。:如果只想对特定的输出设置字段宽度和填充字符,可以在输出语句中直接使用操纵符,而不需要全局设置。字段宽度和精度可以同时设置,例如在输出浮点数时,可以同时设置字段宽度和小数点后的位数。:如果只想对特定的输出设置精度,可以在输出语句中直接使用操纵符,而不需要全局设置。用于设置定点数表示法,即小数点后的位数固定,而不是使用科学计数法。是流操纵符,它们会影响后续的输出,直到再次被修改。是流操纵符,它们会影响后续的输出,直到再次被修改。用于在输出后添加换行符,并刷新输出缓冲区。
2025-04-09 18:34:30
462
原创 函数参数的默认值
这种调用时错误的,这里的问题是,在调用时跳过了第二个参数,直接跳到了第三个参数。即必须按顺序提供参数,或者使用具名参数(在某些语言中支持,但 C++ 不支持)。在 C++ 中,指定函数参数的默认值时,必须从右向左指定。也就是说,一旦为某个参数指定了默认值,其右侧的所有参数也必须有默认值。如果你希望使用默认值,可以省略参数,但不能跳过中间的参数。下面代码是错误的,其中间参数设定了默认值,而右侧参数未设定默认值,这在C++中是不允许的。:一旦为某个参数指定了默认值,其右侧的所有参数也必须有默认值。
2025-03-29 16:05:52
253
原创 6】ARM伪指令
编译器在编译的时候将 ldr r1,=0x12345678 编译为 ldr r1,[pc,#0x0008] 这一条读内存的指令。将PC寄存器的值加上偏移量算出0x12345678这个值所占据的内存的地址,然后将这个地址的数据读取进 r1 寄存器中。
2024-10-09 16:38:22
552
原创 GCC编译器的介绍及使用
编译文件helloworld.c,生成用户自定义的可执行文件helloworld执行文件helloworld,输出对应结果。
2024-06-15 18:23:37
229
原创 vim编辑器的使用
1> sudo apt install vim //sudo 进入root模式,apt install 安装包安装。末行模式:按下“Escape”键(Esc),退出插入模式,再按“Shift”+“:”键,末行模式中使用末行命令。编辑模式:按下“i”键,在终端左下角出现“inserr”(插入)关键字,进入插入模式,即可书写。:q quit 的缩写,退出,若修改以后未保存,不允许退出。d(移动命令) delete 删除移动命令所对应的内容。Ctrl+b back 向上翻页。
2024-06-14 17:35:49
1344
原创 Linux文件系统及常用快捷键
3> mv abc 123 //将一个名为abc的文件重命名为123,若当前目录下也有个名为的123文件,则原有的123文件将会被覆盖。mv a b c -t d 或 mv -t d a b c //其中 -t 后紧挨的就是要移动的目录,且不能有多个目录出现。mv holloworld.c test/ //移动文件holloworld.c到目录test。4、cp helloworld.c /test/ //将文件拷贝到目录(文件夹)中。
2024-06-11 12:20:27
1964
原创 linux系统的使用
vim helloworld.c 进入文件helloworld.c中进行编写。Ctrl+Shift+t 在同一窗口打开另一终端。按下Escape(Esc)键进入命令行模式。gcc 文件名 编译生成可执行文件。dr... 目录 -r... 文件。保存并推出vim编辑器。cd / 或cd ~ 进入家目录。./a.out 运行程序。 使用图形化界面打开。按下i键进入编辑模式。编写C语言文件。
2024-06-05 18:20:35
971
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人