自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++散记——浅述using namespace std与std::

2,降低可读性:阅读你代码的人来说(包括未来的你),看到一个没有命名空间前缀的名称可能不清楚它是来自 `std` 命名空间还是其他地方。时,该语句由编译器运行,这个过程通常是非常快的,因为编译器已经对标准库有优化处理,对于编译速度几乎没有影响。这样做的好处在于它不会给未来可能出现的名称冲突留下隐患,同时也使得代码更加易于阅读和维护。1,命名空间污染:标准库中有大量的名称,这些名称对你来说可能只有部分是有用的。两者在编译后生成的机器码是相同的,所以二者的区别与性能无关。

2024-02-07 14:34:14 558 1

原创 C++散记——关于解除指针引用来源的吐槽

在英语中,前缀 "de-" 通常具有 "逆转" 或 "去除" 的意义,在指针的上下文中,"dereferencing" 一个指针意味着访问指针所指向的内存地址上存储的值。这种用法可能源于更一般的概念,即从一种间接的状态(一个引用或地址)转换到直接的状态(实际的值)。因此,"dereferencing" 意味着从抽象的引用移动到具体的值,尽管这并不涉及取消或逆转引用本身。需要注意的是,这个操作仅仅是安全地停止使用这个指针,但之前这个指针所指向的内存地址并没有被释放,这可能导致内存泄漏或者未定义行为。

2024-01-27 18:25:13 412

原创 C++散记——c++ primer plus 4.3 strtype3

strcpy和strcat函数存在安全隐患的原因在于它们无法检查目标缓冲区的大小,这可能导致缓冲区溢出的问题——这意味着可能会有超出目标缓冲区大小的数据写入缓冲区。因此,C++标准引入了更加安全的strcpy_s和strcat_s函数,这些函数在操作之前会检查目标缓冲区的大小,以确保不会发生缓冲区溢出。在C11标准中,像`strcpy_s`这样的函数名称中的“s”代表“secure”

2024-01-25 14:19:05 567

原创 C++散记——内存种类等杂项(1)

简述了几种内存及区别

2024-01-24 18:02:15 590 1

原创 C++散记——C++ primer plus程序清单3.13 数值转换问题:为什么debt = 1634811904

int类型一个整数通常占用4个字节,即32位。因此能存低32位后8个数字0x61714000。猜测:7.2E12=7200000000000=68c61714000(16进制)

2024-01-21 16:08:51 664 1

原创 C++散记,setf函数

它是所有输入输出流类的基类,包括 `istream`、`ostream`、`iostream` 等。而 `mask` 是要影响的掩码(mask)。`mask` 的作用是在设置 `flags` 之前,先清除一些标志位,以确保 `flags` 只影响我们想要的输出格式标志。其中,格式化标志(format flags)就是上文提到的fmtflags,它用来控制输出流的格式化行为,例如指定输出小数点后的位数、输出浮点数的格式、对齐方式等。在本例中,`ios_base::floatfield` 就是要影响的掩码。

2024-01-21 11:51:27 571 1

原创 double类型和float类型的精度问题

这意味着float类型只保证6位有效,而double在这个例子里保证了13位有效(实际上在系统中有效位数为15)float类型的tub在第7个3后有了误差,而double类型的mint显示了13个。在运算10/3时,cout打印6位小数。

2024-01-20 23:28:10 409

空空如也

空空如也

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

TA关注的人

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