forked from OSchip/llvm-project
[clang-tidy] updated misc-sizeof-container docs.
llvm-svn: 247580
This commit is contained in:
parent
e0f603fad5
commit
64aa388efa
|
|
@ -4,7 +4,9 @@ misc-sizeof-container
|
||||||
The check finds usages of ``sizeof`` on expressions of STL container types. Most
|
The check finds usages of ``sizeof`` on expressions of STL container types. Most
|
||||||
likely the user wanted to use ``.size()`` instead.
|
likely the user wanted to use ``.size()`` instead.
|
||||||
|
|
||||||
Currently only ``std::string`` and ``std::vector<T>`` are supported.
|
All class/struct types declared in namespace ``std::`` having a const ``size()``
|
||||||
|
method are considered containers, with the exception of ``std::bitset`` and
|
||||||
|
``std::array``.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
|
@ -12,9 +14,12 @@ Examples:
|
||||||
|
|
||||||
std::string s;
|
std::string s;
|
||||||
int a = 47 + sizeof(s); // warning: sizeof() doesn't return the size of the container. Did you mean .size()?
|
int a = 47 + sizeof(s); // warning: sizeof() doesn't return the size of the container. Did you mean .size()?
|
||||||
// The suggested fix is: int a = 47 + s.size();
|
|
||||||
|
|
||||||
int b = sizeof(std::string); // no warning, probably intended.
|
int b = sizeof(std::string); // no warning, probably intended.
|
||||||
|
|
||||||
std::string array_of_strings[10];
|
std::string array_of_strings[10];
|
||||||
int c = sizeof(array_of_strings) / sizeof(array_of_strings[0]); // no warning, definitely intended.
|
int c = sizeof(array_of_strings) / sizeof(array_of_strings[0]); // no warning, definitely intended.
|
||||||
|
|
||||||
|
std::array<int, 3> std_array;
|
||||||
|
int d = sizeof(std_array); // no warning, probably intended.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue