上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: //传统.hpp class A { private: int a_; std::string str_; }; 如果是暴露给外部的头文件,这样写会把头文件中的数据成员泄露出去。可使用pimpl惯用法。 //pimpl惯用法 //A.hpp class Pimpl; //前置声明 class A { 阅读全文
posted @ 2026-04-23 10:53 仰望星河Leon 阅读(6) 评论(0) 推荐(0)
摘要: Claude Code是一个工具,模型是大脑,可以使用官方模型,也可接入国产模型。 通过api服务商接入模型的一个主要问题是:可能会在官方模型中掺入“傻”模型。 1. 通过api服务商接入模型 也可直接通过各个模型的api直接接入,比如通过API接入Deepseek模型,需要配置系统环境变量等,方法 阅读全文
posted @ 2026-04-14 18:36 仰望星河Leon 阅读(340) 评论(0) 推荐(0)
摘要: 场景 A.hpp中包含了B.hpp,而B.hpp中又包含A.hpp。是 C++ 中典型的循环依赖问题。如果 A.hpp 和 B.hpp 相互包含,直接编译会报错类型不存在。 两个只有 .hpp 文件的类如果互相 #include,一定会产生循环依赖。并且通常无法仅靠头文件保护解决。在纯头文件实现(h 阅读全文
posted @ 2026-03-29 01:57 仰望星河Leon 阅读(7) 评论(0) 推荐(0)
摘要: 优先使用 {} 的情况 默认构造空对象:Type obj{}; 避免 obj() 被误认为函数声明 初始化容器时想用元素列表:vector{1,2,3} 防止意外的类型窄化:特别是在模板代码中,安全性更高 聚合体初始化:结构体、数组等 通用代码(模板)中:T{...} 比 T(...) 更统一,行为 阅读全文
posted @ 2026-03-27 15:51 仰望星河Leon 阅读(9) 评论(0) 推荐(0)
摘要: 嵌套容器添加{}初始化的元素时用push_back不要用emplace_back std::vector<std::vector<int>> vec; vec.push_back({1,2}); //正确 vec.emplace_back({1,2}); //报错 {1,2}实际是一个std::in 阅读全文
posted @ 2026-02-27 14:30 仰望星河Leon 阅读(9) 评论(0) 推荐(0)
摘要: 1. 野指针 野指针 泛指指向“非法”内存地址的指针 场景:没有初始化的指针(其值随机)、悬垂指针、指向非法地址的指针(比如指向数组越界的内存) 避免:不使用裸指针、定义指针一定要初始化nullptr、delete/free后立即置nullptr、避免返回局部栈内存 悬垂指针:特指曾经指向有效对象, 阅读全文
posted @ 2026-02-25 20:30 仰望星河Leon 阅读(9) 评论(0) 推荐(0)
摘要: 1. 什么是静态初始化 静态初始化:在程序开始执行 main() 函数之前,对具有静态存储期的对象进行的初始化,初始化顺序不定。 动态初始化:在运行时执行的初始化,通常需要执行构造函数或计算表达式。 静态初始化对象包括: 全局变量 extern声明的全局变量 类的静态成员变量 命名空间作用域的变量 阅读全文
posted @ 2026-02-24 13:33 仰望星河Leon 阅读(20) 评论(0) 推荐(0)
摘要: 断言失败自定义信息 目前的标准 assert 宏只接受一个参数,失败时只会输出该条件对应的源代码文本,无法附加自定义信息。 即将到来的 C++26 标准对 assert 进行了增强,使其支持可变参数。 在C++26之前,利用 && 或逗号运算符,是最简洁、最常用的技巧。 #include <cass 阅读全文
posted @ 2026-02-23 18:22 仰望星河Leon 阅读(5) 评论(0) 推荐(0)
摘要: #include <iostream> #include <string> #include <raylib.h> #include <raymath.h> #include <vector> #include "Vector2.hpp" #include "Vector3.hpp" #includ 阅读全文
posted @ 2026-02-21 17:22 仰望星河Leon 阅读(10) 评论(0) 推荐(0)
摘要: 自定义类,若想要可以进行比较运算,需要重载6种操作符:==、!=、<、<=、>、>=。 C++20起,operator<=>()可用于自定义类的6种比较操作符的自动生成。 #include <compare> 返回类型 std::strong_ordering //有less、greater、equ 阅读全文
posted @ 2026-02-21 11:38 仰望星河Leon 阅读(17) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 11 下一页