C26461 USE_CONST_POINTER_ARGUMENTS:C26461 USE_CONST_POINTER_ARGUMENTS:
Argument wskaźnika "% argument%" dla funkcji "% Function%" może być oznaczony jako wskaźnik do const
(CON. 3).The pointer argument '%argument%' for function '%function%' can be marked as a pointer to const
(con.3).
Funkcja z T*
argumentem ma możliwość modyfikacji wartości obiektu.A function with a T*
argument has the potential to modify the value of the object. Jeśli nie jest to zamiara funkcji, lepiej jest utworzyć wskaźnik a const T*
.If that is not the intent of the function, it is better to make the pointer a const T*
instead.
Zobacz teżSee also
Podstawowe wytyczne dotyczące języka C++ con. 3.C++ Core Guidelines con.3.
PrzykładExample
struct MyStruct
{
void MemberFn1() const;
void MemberFn2();
};
void Function1_Helper(const MyStruct* myStruct);
void Function1(MyStruct* myStruct) // C26461, neither of the operations on myStruct would modify the pointer's value.
{
if (!myStruct)
return;
myStruct->MemberFn1(); // The member function is const
Function1_Helper(myStruct); // Function1_Helper takes a const
}
void Function2(MyStruct* myStruct)
{
if (!myStruct)
return;
myStruct->MemberFn2(); // The member function is non-const, so no C26461 will be issued
}