include 的细节
Tuesday, September 17, 2024 在 c++笔记
#include “headername” 和 #include <headername> 的区别 #include "headername" 和 #include <headername> 的主要区别在于头文件的搜索路 径。虽然在包含标准库文件(如 iostream)时,两者的行为通常没有区别,但在实际开发 中,两者有不同的语义,尤其是在包含自定义头文件时。 1.#include …
C 动态分配二维数组的内存
Sunday, July 21, 2024 在 c++笔记
指针数组 使用指针数组, 每个指针指向一维数组的起始位置 #include <stdio.h> #include <stdlib.h> int main() { int rows = 3; int cols = 4; // 分配行指针数组 double **array = (double **)malloc(rows * sizeof(double *)); if (array == NULL) { printf("Memory allocation …
在 C 函数中建议 move data to heap 时
Saturday, July 20, 2024 在 c++笔记
malloc malloc(memory allocation)函数用于分配指定字节数的内存,并返回指向这块内存的指针。内存未初始化。 #include <stdlib.h> int main() { // 分配内存用于存储10个整数 int *array = (int *)malloc(10 * sizeof(int)); if (array == NULL) { // 处理内存分配失败的情况 return 1; } // 使用分配的内存 for (int i = 0; i …
比较 boost 和 stl
Sunday, June 02, 2024 在 c++笔记
Boost 和 STL(Standard Template Library)是两个非常重要的 C++ 库,它们各自提供了 丰富的功能和工具,但在用途、设计哲学和使用场景上有一些显著的区别。下面是对 Boost 和 STL 的详细比较: STL(Standard Template Library) 标准库的一部分:STL 是 C++ 标准库的一部分,由 ISO/IEC 标准化组织定义。所 有符合标准的 C++ 编译器都必须提供 STL。 核心组件:STL 主要包含容器、算法和迭代器三个核心组件。 …
C++ 是如何实现面向对象编程的
Thursday, October 27, 2022 在 c++笔记
面向对象的三个特性 封装:将对象的状态(数据成员)和行为(成员函数)捆绑在一起,并控制对它们的访问。封装的主要目的是隐藏类的内部实现细节,并仅暴露必要的接口供外部使用。这样可以保护数据,防止外部代码意外或恶意地改变对象的状态。 数据成员可以被声明为 private、protected 或 public。 成员函数通常也是 public 的,以便用户可以调用这些函数来操作对象。 使用 private 和 protected 修饰符可以限制对数据成员的直接访问。 继承:允许创建新的类(称为派生类或子 …