@Doomjustin 版块已创建, 可以检查确认一下是否有话题贴/Topic工具的权限
sunrisepeak
-
如果创建一个新的社区版块? -
MC++编码风格探讨 - 标识符命名风格@SkyWingF 后面给项目增加一个 类似 "最佳实践" 章节总结这些:
- 类型别名用using 代替 typedef
- 引用的使用
- 尽量少使用宏 非必要不使用
- 属性标识 [[nodiscard]], [[deprecated]]
- ...
-
MC++编码风格探讨 - 标识符命名风格import std; namespace mcpplibs { // 1.命名空间全小写 class StyleRef { // 2.类型名大驼峰 private: int data_; // 3.私有数据成员 xxx_ std::string fileName_; // std::string public: // 4. 构造函数 / Rule of Five(Big Five)单独放一个 public 区域 StyleRef() { } StyleRef(const StyleRef &obj) { /* ... */ } StyleRef(StyleRef &&) { /* ... */ } StyleRef & operator=(const StyleRef &) { /* ... */ } StyleRef & operator=(StyleRef &&) { /* ... */ } ~StyleRef() { /* ... */ } public: // 5.公有函数区域 // 函数名 下划线分割 / snake_case /* 7. fileName 小驼峰 */ void load_config_file(std::string fileName) { // 成员函数如无特殊要求接口和实现不分离 parse_(fileName); } private: // 6.私有成员函数以 `_` 结尾 void parse_(std::string config) { } }; }
- 一、
标识符命名风格- 1.0 类型名 - 大驼峰
- 1.1 对象/数据成员 - 小驼峰
- 1.2 函数 - 下划线(snake_case)
- 1.3 私有表示 -
_后缀 - 1.4 其他
- 一、
-
mcpp-sytle-ref: 现代C++编码/项目风格参考 | Modern/Module C++ Style Reference@Phtato 目前默认是模块化的写法, 20之前的话 可以参考 google-style/cpp
社区有个主要的任务的推模块化库和相关工具链使用和普及
-
[windows系统][环境配置]: d2mcpp项目, 配置完环境,打开是英文的, 如何配置中文?最新版本该问题已经解决
- 获取d2mcpp最新代码
- 更新d2x到最新版本
xim --update index xlings update d2x -
mcpp在远程连接ubuntu的vscode中使用d2x checker命令,编辑器无法识别代码@sunrisepeak 安装头文件后, 然后再在d2mcpp项目根目录运行
xlings install会重新自动配置和生成新的头文件索引这个问题后续版本应该就没有了
-
mcpp在远程连接ubuntu的vscode中使用d2x checker命令,编辑器无法识别代码@fillSea 缺少linux头文件, 运行下面的命令安装
linux-header后再试一试xlings install linux-headers -
关于学习C++中的int main中new一个新的伐对象的困惑@g202080272 在 关于学习C++中的int main中new一个新的伐对象的困惑 中说:
Book paper_book("The Lord of the Rings");
EBook* digital_book = new EBook("A Brief History of Time", 2048);
std::cout << "--- Library is operating ---" << std::endl;
delete digital_book;通过new创建的对象为动态内存分配的对象, 程序员将获得对象生命周期控制权, 例如后面可以使用delete去删除结束对象生命 - 即掌握了创建和销毁的控制权
而对比paper_book的生命周期是由 编译器/作用域 来自动控制的
两种对比
- new/delete 动态分配对象: 程序员 将拥有该对象的生命周期控制权力, 且有责任管理好其生命周期
- 优点: 更大的生命周期控制权
- 缺点: 如果没有控制好, 如忘记释放 将会内存泄漏
- 编译器 / 栈对象: 生命周期由编译期自动处理 (作用域)
- 优点: 更低的心智负担, 不用担心释放问题
- 缺点: 程序员无法自由控制生命周期的结束
核心概念: 获得更大权力, 对应需要承担更大的责任
- new/delete 动态分配对象: 程序员 将拥有该对象的生命周期控制权力, 且有责任管理好其生命周期
-
讨论: 现代C++编码/项目风格目前社区准备制作一份 现代C++ (特别是模块化) 相关的编码和项目组织结构方面的风格参考项目, 例如 模块和头文件兼容、命名风格、接口导出、以及常用技巧的"最佳"实践等.....
欢迎大家在这里交流、讨论、反馈

-
安装node和vscode都显示git not found,但是有git版本号#xlings安装报错 -
安装node和vscode都显示git not found,但是有git版本号#xlings安装报错用下面命令清理一下缓存, 然后再试一试
xlings self clean -
[windows系统][环境配置]: d2mcpp项目, 配置完环境,打开是英文的, 如何配置中文?可以修改 config.xlings配置文件切换到中文

如果使用的工具是最新d2x 0.1.1版本, 可以在项目根目录
.d2x.json文件修改详情见项目配置文档: https://mcpp-community.github.io/d2mcpp/base/chapter_1.html
-
win环境下执行xlings checker 会报错为:error: wait events in poller failed! 当编写 vscode的时候会显示无法写入使得崩溃@Saaqq 目前d2x工具使用c++重构了, 可以更新一下 应该不会有这个问题了
先更新一下d2x工具
xlings self update xim --update index xlings update d2x然后再到项目目录运行下面命令进入练习模式
d2x checker注: 最新版本的d2x也支持配置AI大模型做智能引导, 也可以玩一玩

-
mcpp-sytle-ref: 现代C++编码/项目风格参考 | Modern/Module C++ Style Reference写了一个现代C++模块化的编码/项目风格参考文档, 附有项目/代码示例, 欢迎交流
简介

目录

-
llmapi项目在使用xmake构建时无法找到std.ccllmapi 和 xlings 都算是初期项目, 有什么问题或想法都可以反馈到项目issue里
-
Linux系统编程(2)文件IO感觉可以把这个系列整理成一个GitHub 仓库 包含文档和对应的练习或演示代码
让读者上手实操/改改东西 用 strace 等一些工具 追一追 系统调用 观察真实机器上的效果 之类的
体验感应该能增强不少 -
llmapi项目在使用xmake构建时无法找到std.cc感觉可能和gcc工具链有关
llmapi我好想忘记加xlings的依赖描述文件了, d2x是加了的
可以, 手动使用xlings install gcc@15.1安装gcc15
然后在项目目录清除一下缓存xmake clean rm .xmake build -r xlings install gcc@15.1 g++ --version xmake build如果上面过程出现问题 可以在把log贴上来
-
llmapi项目在使用xmake构建时无法找到std.cc@mikami-w 编译一个最小的 import std.compat; 程序 可以通过吗
-
项目想法: mcpp-start: 完全0基础的现代C++社区教程项目 - 想法讨论@Yozi 在 项目想法: mcpp-start: 完全0基础的现代C++社区教程项目 - 想法讨论 中说:
AI 辅助学习确实很香,但也有个坑:如果引导/提示词没调好,AI 输出太多反而容易理解得“热闹但不深”,学着学着有点迷迷糊糊
目前在重新实现d2x这个工具 (还没替换原版本), 目前使用的是 固定提示词模板 + 对应原练习代码 + 包含练习意图 的引导方式, 可能能缓解一些这个问题

这不过, 目前还是初步尝试, 后面打算多探索一些这方面
-
项目想法: mcpp-start: 完全0基础的现代C++社区教程项目 - 想法讨论@Yozi 在 项目想法: mcpp-start: 完全0基础的现代C++社区教程项目 - 想法讨论 中说:
比如一个小型游戏:我自己学 Rust 时就拿“穿越火线”当主题,用游戏机制去类比代码概念——背包像数组/容器、武器像结构体、状态切换像枚举/状态机……会特别好理解
这是一个好的建议, 用一个具体可感知的目标/项目, 然后把项目拆解 和 基础知识对应 可能是一个比较好的切人点
只不过, 可能项目要选一个简单一点的 (或许实现一个简单的Agent例子不错), 穿越火线 这种对应应该是有一些编程基础, 然后需要做个项目, 把技能和应用建立联系, 感觉和我们现在在策划的 模块化实现 Mini STL 标准类似
对于初学者 或 几乎没有接触过编程的同学
- 兴趣 & 结果可感知
- 发展及行业应用
- 编程概念 & C++中对应的实现
感觉可能 一半代码 + 一半C++相关的人文 才能坚持下去