在Cpp核心准则的示例中,浪费了什么? P.9: Don't waste time or space [...] void lower(zstring s) { for (int i = 0; i < strlen(s); ++i) s[i] = tolower(s[i]);...
当表达不应为空的指针时,我习惯使用__attribute__((nonnull))。 void f(int* ptr) __attribute__((nonnull)); int main(){ int* ptr = new int(1); f(ptr); } void f...
当我使用以下代码时,我收到一个警告(来自应用cppcoreguideline)。 代码: SampleClass *object = nullptr; object = new SampleClass(); 警告: warning: assigning newly created...
我试图在Microsoft Visual Studio中创建一些示例代码,看起来像这样: int main() { const size_t size = 10; int arr[size]; for (size_t i = 0; i < size; ++i)...
我目前正在尝试将Visual Studio 2017的C ++ Core Guidelines Checker (CppCoreCheck)与meta build系统CMake集成,使用Visual Studio 15 2017 Win64生成器。 以下示例说明了我的方法(我已经尝试将CMa...
我试图理解如何在代码中使用 Ensures()。正如示例中所示,如果我尝试使用以下方式的Ensures()... int main(void) { int result = 0; // Some calculation Ensures(result == 255); ...
在他的C++核心准则中,Bjarne Stroustrup建议在通过引用传递数组时使用span。为什么不直接传递std::array对象?
在cpp核心指南中:非所有原始指针的示例 我不理解以下代码: template<typename T> class X2 { // ... public: owner<T*> p; // OK: p is owning T* q; ...
我是一位有用的助手,可以为您进行文本翻译。以下是需要翻译的内容: 我正在阅读CppCoreGuidelines的T.1部分,其中包含以下示例 示例1 template<typename T> // requires Incrementable<T> T s...
假设以下代码: #include <iostream> #include <vector> #include <string> int main() { std::vector<std::string> lines; line...