什么"是" C ++ GSL指南?

时间:2016-05-02 11:07:20

标签: c++ guideline-support-library

Stroustrup去年就他的GSL(指南支持图书馆)发表了演讲。 Micosoft在https://github.com/Microsoft/GSL实施了一项实施。我的印象是GSL应该建议糟糕的编码风格,并提出改进建议。

为此,我安装了MSFT的GSL并创建了一个C ++文件:

#include <stdio.h>
#include <gsl.h>

int main()
{
        int *i = new int;
        puts("hello world");
} 

使用Makefile构建它:

msft : msft.cc
        g++ -std=gnu++14 -I ../../src/GSL/include $^ -o $@

.PHONY : clean
clean :
        rm -f msft

显然,&#34; new&#34;导致代码中存在资源泄漏。

所以现在我很困惑。

  • GSL究竟应该是什么&#34;做&#34;?
  • 我在哪里可以获得警告指南不合规的源代码检查程序? Stroustrup似乎暗示它实际上是作为一种工具存在的,但情况就是这样吗?

2 个答案:

答案 0 :(得分:4)

Guidelines Support Library(另请参阅gsl-lite)是一个C ++库,它实现了C++ Core Guidelines中推荐的一些函数和类。提供有关如何使用现代C ++的建议的文档。如果您想改进C ++的使用,那么阅读或浏览C ++核心指南是值得的。使用GSL库不那么重要,但如果您发现自己实现了已经存在的代码,则可能会很有用。 C ++核心指南已经存在了几年,所以有些东西,比如string_view,已经可用(取决于你编译的C ++版本),并且不需要使用外部库。

答案 1 :(得分:3)

您必须按照CppCoreGuidelines

中的建议使用它们

阅读它们,了解它如何适用于您的代码库/编程习惯/问题。

Visual Studio 2015有plugins,可帮助您根据GSL检查代码是否运行良好