use*_*460 12 c++ pointer-arithmetic command-line-arguments clang-static-analyzer clang++
尝试打印第一个命令行参数时:
std::cout << argv[0] << std::endl;
Run Code Online (Sandbox Code Playgroud)
clang-tidy发出警告:
警告:[cppcoreguidelines-pro-bounds-pointer-arithmetic]中的'不使用指针运算'
有argv
没有使用指针算法的替代方法来使用值?是不是char**
通过任何明智的方法访问必须使用指针算术?
我欣赏有一些专门的函数来处理命令行参数,但它们似乎太重了,不能简单地打印一个参数.
我正在编写c++
,使用clang
编译器和构建cmake
.
小智 9
来自clang-tidy - cppcoreguidelines-pro-bounds-pointer-arithmetic:
指针应仅引用单个对象,指针算法易碎且容易出错.
span<T>
是一种用于访问数据数组的边界检查的安全类型.
是的:是的
是否有另一种方法可以在不使用指针算法的情况下使用argv的值?是不是通过任何合理的方法访问char**必须使用指针算术?
你是完全正确的.但是,指南是关于隐藏指针算法,让助手类在执行算术之前进行边界检查.你可以构建一个span<char*>
from argv
和argc
.
归档时间: |
|
查看次数: |
2000 次 |
最近记录: |