随笔分类 -  C++编程与调试

摘要:在 C++ 中,DBL_MAX 是一个定义在 <cfloat> 头文件中的宏,用于表示 double 类型能够表示的最大有限值。对于浮点数,C++ 标准库还定义了 FLT_MAX,表示 float 类型的最大值。1. DBL_MAX 类型: double 最大值: DBL_MAX 的值通常大约为 ( 阅读全文
posted @ 2024-11-28 14:50 七星望 阅读(919) 评论(0) 推荐(0)
摘要:答案是安全的。 条件语句中同时进行空指针检查和解引用,但要确保解引用发生在检查之后,并且需要注意运算符的优先级。 // 例如,在 C++ 中使用逻辑与运算符 if (p != nullptr && *p == someValue) { // 这里是安全的,因为 p 的空指针检查在前 // 可以安全地 阅读全文
posted @ 2024-11-05 11:13 七星望 阅读(73) 评论(0) 推荐(0)
摘要:#include的路径及顺序 //foo.cc包含头文件的次序(foo.cc是foo.h的实现文件) 1.foo.h //优先位置 2.C system file 3.c++ system file 4.其他库的.h文件 5.本项目内的.h文件 原因: 这种优先顺序排序保证党foo.h遗漏必要的库时 阅读全文
posted @ 2023-05-30 10:19 七星望 阅读(141) 评论(0) 推荐(0)
摘要:1、如果父类的析构函数不是虚函数,则不会触发动态绑定(多态),结果就是只会调用父类的析构函数,而不会调用子类的析构函数,从而可能导致子类的内存泄漏(如果子类析构函数中存在free delete 等释放内存操作时);2、如果父类的析构函数是虚函数,则子类的析构函数一定是虚函数(即使是子类的析构函数不加 阅读全文
posted @ 2023-02-02 16:20 七星望 阅读(269) 评论(0) 推荐(0)
摘要:今天做了一函数,在用const char* 指向一个字符串常量后,想着可不可以重新指向一个新的字符串常量,实验结果是可以的。 一开始是有些疑惑的, 因为通常说我们不能修改const char*指向的字符串常量,那就意味着不能对这个指针重新赋值,但事实上这样的理解是不对的。因为对这个指针重新赋值,没有 阅读全文
posted @ 2022-09-16 15:59 七星望 阅读(736) 评论(0) 推荐(0)
摘要:C++11标准新引入的static_assert功能可以实现静态断言,是一个非常强大的模板元编程工具,配合SFINAE特性可以在编译期发现不符合预期的不合理特化,并且给出自定义的错误信息。 1. _Static_assert 是 C11 中引入的关键字。 static_assert 是 C11 中引 阅读全文
posted @ 2022-02-01 00:00 七星望 阅读(788) 评论(0) 推荐(0)
摘要:Makefile入门二、理解$@、$^和$< ubuntu14.04 不重装更新CMake CMake的hello world(一)使用CMake windows下使用Cmake为自己创建的库添加版本信息 几个例子说清楚make 的赋值语句。 = 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被 阅读全文
posted @ 2021-12-15 16:56 七星望 阅读(235) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-11-19 16:32 七星望 阅读(134) 评论(0) 推荐(0)
摘要:【函数指针的高级应用】 https://blog.csdn.net/szullc/article/details/86567580 c/c++ https://blog.csdn.net/szullc/category_8450784.html 阅读全文
posted @ 2021-10-27 14:27 七星望 阅读(33) 评论(0) 推荐(0)
摘要:最近学习了Vector的使用,在通用函数的背后,你了解它的工作机理么,你能回答下面几个问题么。如何不慎清楚,请看下文之简单剖析。后续问题和疑问,将在文后补充。 Q:是嵌套的vector数组中的二级vector在一级vector删除时需不需要手动删除?A:释放遵循有内到外,只有vector存的是指针时 阅读全文
posted @ 2021-09-17 16:51 七星望 阅读(3062) 评论(0) 推荐(0)
摘要:模式某种角度上来讲就是对象组合。不要看他们都是对象组合就好像是一样的。模式的动机,意图,使用场合,组合方式,这些都是模式的一部分。其中细微的不同足以区分不同的模式. 行为模式的主要特点就是处理的是对象之间的通信方 式,往往是通过引入中介者对象将通信双方解耦,在这里实际上就是将Context与实际的算 阅读全文
posted @ 2020-11-11 14:04 七星望 阅读(1552) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-05-05 14:11 七星望 阅读(0) 评论(0) 推荐(0)
摘要:如何让VSCode做C++开发的IDE? 1.安装MINGW, 配置PATH 编译器安装成功 2.安装VS 插件 在terminal调试下 3.配置 launch.json, 项目根目录\.vscode下。复制进去之后要修改miDebuggerPath参数,这里面填写自己的gdb.exe路径,编译配 阅读全文
posted @ 2020-03-25 14:51 七星望 阅读(417) 评论(0) 推荐(0)
摘要:头文件 map: #include < map > unordered_map: #include < unordered_map > 内部实现机理 map: map内部实现了一个红黑树,该结构具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素,因此, 阅读全文
posted @ 2020-03-25 10:38 七星望 阅读(658) 评论(0) 推荐(0)