Merge topic 'disallowed-cxx-subset'
ed632736
Help: Note that std::string::clear may not be used.cc04bb6c
Help: Document non-use of std::set::insert.
This commit is contained in:
commit
93ddb26311
|
@ -33,17 +33,19 @@ The ``at()`` member function of ``std::vector`` may not be used. Use
|
|||
int i1 = someVec.at(5); // Wrong
|
||||
int i2 = someVec[5]; // Ok
|
||||
|
||||
std::string::append
|
||||
-------------------
|
||||
std::string::append and std::string::clear
|
||||
------------------------------------------
|
||||
|
||||
The ``append()`` member function of ``std::string`` may not be used. Use
|
||||
``operator+=`` instead:
|
||||
The ``append()`` and ``clear()`` member functions of ``std::string`` may not
|
||||
be used. Use ``operator+=`` and ``operator=`` instead:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
std::string stringBuilder;
|
||||
stringBuilder.append("chunk"); // Wrong
|
||||
stringBuilder.clear(); // Wrong
|
||||
stringBuilder += "chunk"; // Ok
|
||||
stringBuilder = ""; // Ok
|
||||
|
||||
std::set const iterators
|
||||
------------------------
|
||||
|
@ -124,6 +126,29 @@ A loop must be used instead:
|
|||
theVector.push_back(*li);
|
||||
}
|
||||
|
||||
std::set::insert
|
||||
----------------
|
||||
|
||||
Use of ``std::set::insert`` is not allowed with any source container:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
std::set<cmTarget*> theSet;
|
||||
theSet.insert(targets.begin(), targets.end()); // Wrong
|
||||
|
||||
A loop must be used instead:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
ConstIterator it = targets.begin();
|
||||
const ConstIterator end = targets.end();
|
||||
for ( ; it != end; ++it)
|
||||
{
|
||||
theSet.insert(*it);
|
||||
}
|
||||
|
||||
.. MSVC6, SunCC 5.9
|
||||
|
||||
Template Parameter Defaults
|
||||
---------------------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue