【发布时间】:2014-08-18 06:34:00
【问题描述】:
到目前为止,答案似乎是否定的。
不幸的是,考虑到到处都是shared_ptrs 的代码在视觉上会变得嘈杂。
【问题讨论】:
-
如果你到处都有共享指针,你可能需要重新评估你的 C++ 方式。
-
我现在正在开发一个编译器,我在所有东西之间来回传递令牌,所以我的屏幕上到处都是 shared_ptrs 等。这是我的第一个编译器项目,所以也许我做错了. :\
-
详细介绍您的编译器项目......顺便说一句,我认为 C++ 不是编译器的最佳语言......
-
没什么特别的,我想为 {} 提供一个工作编译器;不使用 lex 等的语言只是为了了解它是如何工作的。因此,当我的词法分析器读取代码时,它会创建传递给解析器的标记,然后使它们成为高级表达式的子代,依此类推。有很多创建正在进行,最简单的跟踪它的方法是使用 shared_ptr。
-
是的,可能。虽然我无法在没有看到您的代码的情况下提出任何具体建议,但我可以给出一个一般指导方针。不要害怕传递东西并按价值返回东西。 C++ 是一种值语义语言,C++ 编译器为此进行了优化。
标签: c++ c-preprocessor shared-ptr syntactic-sugar