
c/c++知识二次稳固
踏过山河,踏过海
爱情来了,就好好珍惜;爱情走了,就好好生活…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
cpp中的头文件其实可以随便取名(虽然不建议)
C++中头文件的扩展名可以任意命名,如.h、.hpp、.txt等,甚至可以使用非标准扩展名。这是因为#include指令只是将指定文件内容原样插入到当前文件中,类似宏替换。虽然不推荐这种做法,但确实可行。示例展示了将函数定义放在io.txt文件中,并在main.cpp中成功包含和使用。这种特性源于预处理器的简单文本替换机制,编译器最终看到的是合并后的完整代码。原创 2025-06-26 11:41:08 · 281 阅读 · 0 评论 -
fmod产生的误差应该如何解决?
摘要:fmod函数在浮点数取余运算时可能因精度问题产生误差,如fmod(40.0,10.0)返回10.0而非预期的0.0。这是由于浮点运算不精确导致。解决方案包括:1)使用epsilon容差值修正误差,当结果接近周期值时重置为0;2)采用绝对值比较(如1e-6精度)进行修正。两种方法本质相同,通过引入误差容忍机制确保周期性计算的正确性。该问题在涉及周期性浮点运算时需特别注意。原创 2025-06-04 17:00:05 · 930 阅读 · 0 评论 -
计算一段代码的耗时
计算一段代码的耗时 #include原创 2025-01-03 16:32:11 · 272 阅读 · 0 评论 -
【不稳定的BUG】__scrt_is_managed_app()中断
【不稳定的BUG】__scrt_is_managed_app()中断原创 2024-12-04 10:16:11 · 853 阅读 · 0 评论 -
【c++ gtest】使用谷歌提供的gtest和抖音豆包提供的AI大模型来对代码中的函数进行测试
【c++ gtest】使用谷歌提供的gtest和抖音豆包提供的AI大模型来对代码中的函数进行测试原创 2024-10-25 11:17:36 · 897 阅读 · 0 评论 -
【C++】set_intersection求交集
【C++】set_intersection求交集原创 2024-10-17 11:04:03 · 404 阅读 · 0 评论 -
如何查看dll或者exe是X86还是X64架构
如何查看dll或者exe是X86还是X64架构原创 2024-10-14 14:45:52 · 551 阅读 · 0 评论 -
【在Windows中添加白名单】
【在Windows中添加白名单】原创 2024-10-14 13:37:06 · 469 阅读 · 0 评论 -
c++在写代码时,如何一次性选中多行?
c++在写代码时,如何一次性选中多行?原创 2024-10-12 15:43:21 · 284 阅读 · 0 评论 -
【‘flatc‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。】
flatc’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。原创 2024-09-23 17:24:04 · 302 阅读 · 0 评论 -
在Windows系统上安装的 zlib C++ 库
在Windows系统上安装的 zlib C++ 库原创 2024-09-23 16:29:58 · 588 阅读 · 0 评论 -
在Windows系统上安装的 zstd C++ 库
在Windows系统上安装的 zstd C++ 库原创 2024-09-23 16:02:43 · 1295 阅读 · 0 评论 -
在Windows系统上安装的 flatbuffers C++ 库
在Windows系统上安装的 flatbuffers C++ 库原创 2024-09-23 15:23:17 · 535 阅读 · 0 评论 -
在Windows系统上安装的 Boost C++ 库
在Windows系统上安装的 Boost C++ 库原创 2024-09-23 15:02:17 · 471 阅读 · 0 评论 -
在Windows系统上安装的 Arrow C++ 库
在Windows系统上安装的 Arrow C++ 库原创 2024-09-23 11:30:35 · 952 阅读 · 0 评论 -
constexpr与const的区别
constexpr与const的区别原创 2024-09-20 15:10:37 · 360 阅读 · 0 评论 -
Visual Studio 快速跳转至特定程序行的快捷键
Visual Studio 快速跳转至特定程序行的快捷键原创 2024-08-27 11:06:57 · 604 阅读 · 0 评论 -
VS报错: “有太多的错误导致IntelliSense引擎无法正常工作,其中有些错误无法在编辑其中查看”
VS报错: “有太多的错误导致IntelliSense引擎无法正常工作,其中有些错误无法在编辑其中查看”原创 2024-08-08 09:51:28 · 911 阅读 · 0 评论 -
cmake执行后没有生成makefile文件
cmake执行后没有生成makefile文件原创 2024-07-26 14:52:53 · 2432 阅读 · 4 评论 -
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失原创 2024-07-18 09:47:17 · 361 阅读 · 0 评论 -
clock时钟周期
clock时钟周期原创 2024-07-01 11:10:48 · 290 阅读 · 0 评论 -
提问cpp之编译单元
在头文件中直接定义全局变量(如int a;)会引起多重定义的问题。这是因为当多个.cpp文件包含同一个头文件时,每个.cpp文件都会有一个a的定义。当这些.cpp文件被编译成对象文件后,链接器在尝试将它们链接成一个可执行文件时,会发现有多个a的定义,这违反了C/C++中关于一个程序内全局标识符(如变量、函数等)应有且只有一个定义的规则(One Definition Rule, ODR)。为了解决这个问题,通常在头文件中使用extern关键字来声明全局变量而不是定义它。如extern int a;原创 2024-04-10 02:09:01 · 776 阅读 · 0 评论 -
c语言中<string.h>的strstr与strtok函数
c语言中的strstr与strtok函数原创 2024-04-09 16:27:24 · 354 阅读 · 0 评论 -
c++虚函数表中的内存布局
c++虚函数表中的内存布局原创 2024-04-07 10:13:10 · 526 阅读 · 0 评论 -
“You have to define _USE_MATH_DEFINES in the compiler settings!“与xxx已经在 xxx.obj 中定义
c++报错:1."You have to define _USE_MATH_DEFINES in the compiler settings!"与2.xxx已经在 xxx.obj 中定义原创 2024-03-13 11:29:06 · 653 阅读 · 0 评论 -
关于c++的protected关键字
关于c++的protected关键字原创 2024-03-12 23:36:04 · 3937 阅读 · 0 评论 -
纯cpp如何模拟qt的信号与槽
纯cpp如何模拟qt的信号与槽原创 2023-11-28 23:31:39 · 828 阅读 · 1 评论 -
集群服务器
集群服务器原创 2023-10-05 15:05:25 · 1610 阅读 · 1 评论 -
CMakeList.txt
复习一下CMakeList.txt的写法,以下面的一个CMakeList.txt为例。原创 2023-09-08 00:14:25 · 916 阅读 · 0 评论 -
关于右值引用与完美转发(还加入了一些补充,涉及到cpp对象的优化)
关于右值引用与完美转发原创 2023-09-04 16:35:23 · 290 阅读 · 2 评论 -
使用cmake,将github上的某一个库进行集成到vs2022上
使用cmake,将github上的某一个库进行集成到vs2022上原创 2023-09-04 13:25:13 · 1362 阅读 · 0 评论 -
c语言查漏补缺
输出结果是:1,这个很好理解,数组名即数组的首地址,(a+1)等价于a[1],然后取ptr-1的值,则是a[0]原创 2023-06-29 00:59:06 · 283 阅读 · 1 评论 -
在vscode调试c++代码报错
在vscode调试c++代码报错原创 2023-05-18 23:27:12 · 8743 阅读 · 4 评论 -
\r与\n详解
在 C 语言中,回车符可以用 “\r” 来表示,换行符可以用 “\n” 来表示。另外,C 语言中也提供了特殊字符序列来表示其他一些控制字符,如制表符、响铃符等。需要注意的是,在使用特殊字符序列时,需要特别注意不同操作系统之间的差异,以确保程序在不同平台上都能够正确地解析和处理。原创 2023-04-18 21:21:09 · 4719 阅读 · 0 评论 -
sprintf格式化写入
【代码】sprintf格式化写入。原创 2023-03-27 11:32:10 · 116 阅读 · 0 评论 -
【C++】C++中substr的用法
【C++】C++中substr的用法转载 2023-03-26 16:11:01 · 160 阅读 · 0 评论 -
c/c++中:如果只告诉了行,没告诉列,且每行的数据个数是不一样的___这种情况应该采用的输入数据的方法:(c/c++一次输入多行)
c/c++中:如果只告诉了行,没告诉列,且每行的数据个数是不一样的___这种情况应该采用的输入数据的方法:(c/c++一次输入多行)原创 2023-03-25 01:23:53 · 125 阅读 · 0 评论 -
C++11中Lambda新特性
默认情况下,对于以值传递方式引入的外部变量,不允许在lambda表达式内部修改它们的值(可以理解为这部分变量都是const常量)。该函数体内除了可以使用指定传递进来的参数之外,还可以使用指定的外部变量以及全局范围内的所有全局变量。如果lambda函数体内只有一个return语句,或者该函数返回void,则编译器可以自行推断出返回值类型,此情况下可以直接省略"->返回值类型"。在方括号内部,可以注明当前lambda函数的函数体中可以使用哪些“外部变量”。和普通函数的定义一样,lambda匿名函数也可以。原创 2023-03-15 15:33:26 · 1126 阅读 · 0 评论 -
c++智能指针有没有内存泄露的情况
上述代码中,parent有一个shared_ptr类型的成员指向孩子,而child也有一个shared_ptr类型的成员指向父亲。然后在创建孩子和父亲对象时也使用了智能指针c和p,随后将c和p分别又赋值给child的智能指针成员parent和parent的智能指针成员child。,weak_ptr的构造函数不会修改引用计数的值,从而不会对对象的内存进行管理,其类似一个普通指针,但是不会指向引用计数的共享内存,但是可以检测到所管理的对象是否已经被释放,从而避免非法访问。2.智能指针的内存泄漏如何解决?原创 2023-03-12 23:58:02 · 783 阅读 · 0 评论 -
说说shared_ptr“线程安全性,原理”
在多线程的编译环境中,调用不同shared_ptr实例的成员函数是不需要额外的同步手段的,即使这些shared_ptr拥有的是同样的对象。,将thread_fcn中的第一行代码的注释去掉之后,不管是使用global_instance,还是使用local,同一个shared_ptr对象是线程安全的,但是,如果是多个线程对同一个shared_ptr对象进行。不管是相同的shared_ptr对象,还是不同的shared_ptr对象,都需要加锁保护。这就是典型的非线程安全的场景,最后的结果是未定的,原创 2023-03-12 19:53:54 · 696 阅读 · 0 评论