เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบซเบฑเบเบชเบดเปเบเบเบดเบกเบเบตเป PVS เปเบเปเบฎเบฝเบเบฎเบนเปเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบฒเบเปเบเป Linux, เปเบฅเบฐเบเบฑเบเบชเบดเบเปเบเบเบปเบเบฅเบญเบเปเบเปเปเบเปเบเบเบเบฒเบเบเบญเบเบเปเบญเบเปเบญเบ. เปเบฅเบฐเบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบญเบญเบเบกเบฒเบเบฒเบเบกเบฑเบ.
เปเบเบทเปเบญเปเบ
เบเบงเบฒเบกเบเบดเบเปเบซเบฑเบ
เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบญเบเบชเบฐเบซเบเบญเบ
เบเปเบญเบเบเปเบเบฐเปเบเบเบปเบเบฅเบญเบ เปเบฅเบฐเปเบเบปเบฒเปเบเบปเปเบฒเบชเบปเปเบเปเบซเปเบเปเบญเบเปเบเบกเบทเปเบเบฝเบงเบเบฑเบ.
เปเบญเบเบฐเบชเบฒเบเบเบตเปเบเบฑเบเปเบเบเบเปเบชเบปเบกเบเบงเบ
เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเปเบเบทเปเบญเบเบงเบดเปเบเบฒเบฐเปเบเบเบเปเปเบกเบตเบเบฑเบเบซเบฒเปเบเป. เบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญเบชเปเบฒเบฅเบฑเบเบเปเบฒเบชเบฑเปเบ console เปเบกเปเบเบกเบตเบขเบนเป (เปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบตเบเบฒเบเบเปเบฒเบฎเปเบญเบเบเบธเบเบขเบนเปเบเบตเปเบเบตเป, เปเบเบดเปเบเบเบฒเบ
เบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบซเบผเบฒเบเบเบฐเบเบนเป
เปเบเบทเปเบญเบเบงเบดเปเบเบฒเบฐเบกเบตเบเบฒเบเปเบฅเบทเบญเบ "เบกเบฒเบเบเบฐเบเบฒเบ". -j
, เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฒเบเบงเบดเปเบเบฒเบฐเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฐเบซเบเบฒเบเปเบเบซเบผเบฒเบเบงเบฝเบเบเบฒเบ. เบเบตเปเบเปเบงเบเบเบฐเบขเบฑเบเปเบงเบฅเบฒเบซเบผเบฒเบ.
เบเบฒเบเปเบเบดเปเบเปเบซเบฑเบเบเบตเปเบเบต
เบฎเบนเบเปเบเบเบเบปเบเบเบฐเบฅเบดเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบซเบผเบฒเบ, เบเบฒเบเบเปเปเบเบงเบฒเบกเปเบเบซเบฒ muzzle เปเบงเบฑเบเบเบฐเบซเบเบฒเบเบเปเบญเบ.
เบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเปเบฒเบเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบเบฐเบเบญเบ
เปเบญเบเบฐเบชเบฒเบเบเบฑเบเบซเบกเบปเบเปเบกเปเบเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเปเบเบญเบเบเบงเบเปเบเบปเบฒ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเปเบเปเบชเบฒเบกเบฒเบเปเบงเบปเปเบฒเปเบเปเบงเปเบฒเบเปเบฒเปเบเบเบเบฒเบเบเบญเบเบเปเบฒเบเบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบเบเปเบเป CMake, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเปเบฒเบเบเบฒเบเบซเบผเบฒเบ.
เบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบฒเบเบงเบดเบเบดเบเปเบชเบเบตเปเบเบต
เบเปเบฒเบเปเบฒเบเบชเปเบฒเบเบเบปเบเบเบฐเบฅเบดเบเปเบเบฎเบนเบเปเบเบ fullhtml
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเปเบฅเบฐเบเปเปเบเบงเบฒเบกเบกเบตเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบฒเบเบงเบดเบเบดเบเปเบช, เบกเบตเบเปเบฒเบญเบฐเบเบดเบเบฒเบ, เบเบปเบงเบขเปเบฒเบเบฅเบฐเบซเบฑเบเปเบฅเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเบตเปเบกเปเบเบตเบก.
ะะธะฝััั
เบเบงเบฒเบกเบเปเปเปเบเบปเปเบฒเปเบเบเบญเบเบเบฒเบชเบฒ C ++ เปเบเบเบเบฑเบเบงเบดเปเบเบฒเบฐ
เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, PVS เบเบฒเบเบเบฑเปเบเปเบฎเบฑเบเปเบซเป syntax เบเบดเบเบเบฒเบเปเบฅเบฐเบชเปเบฒเบเบเปเปเบเบงเบฒเบกเปเบเบเบฒเบเบเบงเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเปเบเปเบงเบฅเบฒเบเบตเปเบฅเบฐเบซเบฑเบเบเบทเบเบเปเบญเบเบซเบกเบปเบ.
เบเบปเบงเบขเปเบฒเบ, เบกเบตเบซเบเปเบฒเบเบตเปเบชเบปเปเบเบเบทเบ void
:
template <typename T>
auto copy (const void * source, void * destination)
->
std::enable_if_t
<
std::is_copy_constructible<T>::value
>
{
new (destination) T(*static_cast<const T *>(source));
}
เปเบกเปเบเปเบฅเปเบงเปเบกเปเบเบเปเบฒเบชเปเบฒเบเบฑเบ auto
เบชเบฒเบกเบฒเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ void
, เบเบฑเปเบเปเบกเปเบเบชเบดเปเบเบเบตเปเบกเบฑเบเบชเปเบฒเบฅเบฑเบ เบญเบฑเบเบเบฐเปเบเบกเบฑเบ. เปเบเป PVS เบเบฐเบฅเบดเบเบเปเปเบเบงเบฒเบกเบเปเปเปเบเบเบตเป:
dynamic_tuple_management.hpp:29:1: error: V591 Non-void function should return a value.
dynamic_tuple_management.hpp:29:1: error: V2542 Function with a non-void return type should return a value from all exit paths.
เปเบงเบฑเบเปเบเบเปเบเปเบฒเบซเบผเบฒเบ
เปเบกเปเบเปเบฅเปเบง, เปเบเบเบฒเบเปเบเปเบเบญเบเบเบญเบเปเบงเบฑเบเปเบเบเปเบเบฑเบเบเบฒเบเปเบเปเบฅเบฐเบเปเปเบเบงเบฒเบกเบกเบตเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบฒเบเบงเบดเบเบดเบเปเบชเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบฑเบเบเบปเบงเบขเปเบฒเบ. เปเบเปเปเบกเบทเปเบญเบเปเบฒเบเบเบฅเบดเบเปเบชเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเป, เบเปเบฒเบเบเปเบญเบเบฅเปเบเปเบฒเบเปเบญเบเบเปเบฒเบเบเบฒเบง, เปเบฅเบฐเบเบฒเบเบเบฑเปเบเบกเบฑเบเบเปเปเปเบเบตเบเบเบทเปเบ
เบเบฒเบชเบฒ
เบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบกเปเบเบขเบนเปเปเบเบเบฒเบชเบฒเบฅเบฑเบเปเบเบ, เบเบถเปเบเปเบเบฑเบเบเบตเปเบเบดเปเบเปเบซเบเป. เปเบเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฒเบเบเบปเบเบฅเบฒเบเบเบฒเบเบชเบฐเปเบซเบกเบตเบเปเบฒเปเบเบชเบนเปเบชเบฐเบเบฑเบเบเบฒเบชเบฒเบญเบฑเบเบเบดเบ. เบกเบฑเบเบเบฐเปเบเบฑเบเบเบฒเบเบเบตเบเบตเปเบเบฐเบชเบฒเบกเบฒเบเบเปเบฝเบเบเบฒเบชเบฒเปเบเบทเปเบญเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเบฒเบเบงเบดเบเบดเบเปเบชเปเบเปเบเบฑเบเบเบตเปเบเบเบฒเบชเบฒเบฅเบฑเบเปเบเบ. เบเปเบญเบเบเปเปเบเบปเบเบเบฒเบเปเบฅเบทเบญเบเบเบฑเปเบเบเปเบฒเบงเปเบเบเบฒเบเปเบเปเบเบญเบ.
เบกเบฑเบเบเปเปเบชเบฐเบเบงเบเบเบตเปเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบฅเบฐเบเบฑเบเบเบฒเบเบงเบดเบเบดเบเปเบชเบเปเบฒเบ console
เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบชเบญเบเบเปเบฒเบชเบฑเปเบเบเบตเปเปเบเป (เบเบตเป pvs-studio-analyzer
ะธ plog-converter
) เบฎเบนเบเปเบเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเบปเบเบเบฒเบเบงเบดเบเบดเบเปเบช.
เบเปเบงเบเปเบซเบผเบทเบญ pvs-studio-analyzer
เบญเปเบฒเบ:
-a [MODE], --analysis-mode [MODE]
MODE defines the type of warnings:
1 - 64-bit errors;
2 - reserved;
4 - General Analysis;
8 - Micro-optimizations;
16 - Customers Specific Requests;
32 - MISRA.
Modes can be combined by adding the values
Default: 4
เบเปเบญเบเปเบเปเปเบงเบฅเบฒเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบเปเบเบทเปเบญเบเบปเปเบเบซเบฒเบเปเบญเบเบเบตเปเบเบฐเปเบ เปเบเบตเปเบก (โเปเบเบตเปเบกเบเปเบฒโ) เบเบธเปเบก. เบเปเบญเบเบเบฐเบเบฒเบเบฒเบกเบฅเบฒเบเบเบทเปเบเบงเบเบกเบฑเบเปเบเบเบเปเบงเบเปเบเบทเปเบญเบเปเบฒเบเบเบธเบ:
pvs-studio-analyzer analyze ... -a 1,4,16
เบเปเบญเบเบเบฐเบเบฒเบเบฒเบกเบฅเบปเบเบเบฐเบเบฝเบเบเบฐเปเบเบซเบผเบฒเบเบเบฑเปเบ:
pvs-studio-analyzer analyze ... -a 1 -a 4 -a 16
เปเบฅเบฐเบเบฝเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบฎเบฑเบเบฎเบนเปเบงเปเบฒเปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบซเบเปเบฒเบเบฒเบเปเบฅเบฑเบเบเปเบญเบ! เปเบฅเบฐเบเปเบฒเบเบเปเบญเบเบเบฒเบ เบชเบฐเบซเบผเบธเบเปเบฅเบฐเบเปเป เปเบเบตเปเบก เบเบงเบฒเบกโเบซเบกเบฒเบ. เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบเบทเปเบญเปเบซเปเปเบเปเบฎเบฑเบเบเบฒเบเบงเบดเบเบดเบเปเบชเบเบปเปเบงเปเบ, เบเบฒเบเบงเบดเบเบดเบเปเบชเบชเปเบฒเบฅเบฑเบ micro-optimizations เปเบฅเบฐ MISRA, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบชเบฐเบซเบผเบธเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒเปเบเบดเบ (4 + 8 + 32 = 44):
pvs-studio-analyzer analyze ... -a 44
เบเบฒเบเบเปเบฒเปเบเป bitmasks เปเบเบเบฒเบเปเบเปเบเบญเบเบเบนเปเปเบเปเปเบเบเบเบปเปเบงเปเบเปเบกเปเบเบฎเบนเบเปเบเบเบเบตเปเบเปเปเบเบต. เบเบฑเบเปเบปเบเบเบตเปเบชเบฒเบกเบฒเบเบชเบฐเบซเบผเบธเบเปเบเปเบเบฒเบเปเบ, เปเบฅเบฐเบเบธเบเบเบธเบเบชเบฒเบกเบฒเบเบเบทเบเบเบฑเปเบเปเบซเปเบเบนเปเปเบเปเปเบเป.
เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบฑเบเบกเบตเบเบปเบเบเบฐเปเบซเบเบ plog-converter
, เปเบเบดเปเบเบชเปเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบชเบฐเบเบดเบเบเบตเปเบชเบฒเบกเบฒเบเบญเปเบฒเบเปเบเปเบเบญเบเบกเบฐเบเบธเบ. เบเบฒเบเบกเบตเบเบฑเบเบซเบฒเบญเบทเปเบเป.
เบเปเบงเบโเปเบซเบผเบทเบญโเบชเปเบฒโเบฅเบฑเบโเปเบเบโเบเบฒเบโ plog-converter
เบฅเบฒเบเบเบฒเบ:
-a, --analyzer Specifies analyzer(s) and level(s) to be
used for filtering, i.e.
'GA:1,2;64:1;OP:1,2,3;CS:1;MISRA:1,2'
Default: GA:1,2
เบเบฒเบ "เบฅเบฐเบเบฑเบ" เบเบฒเบเบปเบเบขเบนเปเบเบตเปเบเบตเปเบเบตเปเบเปเปเปเบเบตเบเบกเบตเบกเบฒเบเปเบญเบ, เปเบฅเบฐเบเปเบญเบเบเปเปเบเบปเบเบซเบเบฑเบเบเปเบฝเบงเบเบฑเบเบเบงเบเบกเบฑเบเบขเบนเปเปเบเปเบญเบเบฐเบชเบฒเบ.
เปเบเบเบเบปเปเบงเปเบ, เบกเบฑเบเบเปเปเบเบฑเบเปเบเบ. เบเบฑเปเบเปเบกเปเบเปเบซเบเบเบปเบเบเบตเปเบเปเบญเบเบเบฑเปเบเบเบธเบเบขเปเบฒเบเปเบซเปเบชเบนเบเบชเบธเบ.
เบเปเปเบเบญเบ stupid swear เบชเบธเบ Catch
เบชเบญเบเปเบเบชเบฒเบกเปเบเบเบเบฒเบเบเบตเปเบเปเบญเบเบงเบดเปเบเบฒเบฐเปเบเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบฒเบเบเบปเบเบชเบญเบเบซเบเปเบงเบ
เบเปเปเปเบเปเบเปเบฒเบเบถเบเปเบเบดเบ multithreading
เบกเบตเบเปเปเบเบตเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเบซเบผเบฒเบเบขเปเบฒเบเบเปเบฝเบงเบเบฑเบเบเบปเบงเปเบเบเบตเปเบเปเปเบเปเบฝเบเปเบเบเบซเบผเบท loops เบเบตเปเบเปเปเบชเบดเปเบเบชเบธเบ, เปเบเบเบฐเบเบฐเบเบตเปเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบปเบงเปเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเบตเบเบเบทเปเบเบเบฒเบเบเบฐเบเบนเปเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบฅเบฐเบเปเบฒเบเบตเปเบเปเปเปเบกเปเบเบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเบเบปเบเบชเบญเบเบซเบเปเบงเบเบเบฒเบเบเบฐเบเปเปเปเบฎเบฑเบเบงเบฝเบ.
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบฑเบเบงเบดเปเบเบฒเบฐเบชเบฐเบเบดเบเบชเบฒเบกเบฒเบเปเบญเบปเบฒเบชเบดเปเบเบเบตเปเปเบเบปเปเบฒเปเบเปเบเบเบฑเบเบเบตเปเบเปเบเป? เบเปเปเบฎเบนเป.
เบเบปเบเปเบเปเบฎเบฑเบ
PVS เบเปเปเบเบปเบเบเปเปเบเบปเบเบเปเบญเบเบเบตเปเปเบเปเบเบดเบเปเบเปเบเบเบเบฒเบเปเบซเบผเปเบเปเบเบตเบเบเบญเบเบเปเบญเบ scan-build
เปเบเบเบเบปเปเบงเปเบ, เบเบงเบฒเบกเบเบฐเบเบฑเบเปเบเบเบฒเบเบเบฑเบเบงเบดเปเบเบฒเบฐเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบกเปเบเบเบฐเบกเบฒเบเบเบทเบเบฑเบ: เปเบกเปเบเปเบฅเปเบง, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเบเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบเบฒเบเบเบฑเปเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบชเปเบฒเบเบฑเบ, เปเบเปเปเบเบเบฅเบงเบก compiler เปเบกเปเบเบเบฝเบเบเป.
เบกเบฑเบเปเบเบฑเบเปเบเปเบเป (เปเบฅเบฐเบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเปเบงเบเบเบธเบเบเบปเบเบขเบฒเบเบเบดเบเบเบฑเปเบเบเบฑเปเบ) เบเบตเบกเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบงเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเปเบฒเบเบงเบเบเปเบฒเปเบชเบธเบเบเบตเปเบเบญเบเบฅเบฐเบซเบฑเบ shitty. เบกเบฑเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเบเปเปเบชเปเบฒเบเบเบฑเบเบซเบฒเบซเบผเบฒเบเบเปเบงเบฒเบเบฒเบเปเบญเบปเบฒเบเบฐเบเบฐเบเบงเบเปเบเบปเบฒเบขเปเบฒเบเบเปเบฒเบซเบฒเบ.
เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบกเบตเบชเบดเบเปเบชเบฅเบตเบเบฒเบเปเบเบเบฒเบเปเบซเปเบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบขเปเบฒเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเบฝเบเปเบ C ++ เปเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบเบฐเบเปเปเบเบดเบเบเบฒเบเบญเบเปเบเบซเบผเบทเบเบตเปเบเบขเบนเปเปเบเบซเบเปเบฒเบเบฒเบเบเปเบงเบ rake.
เปเบเปเบเบฐเปเบซเบเบเบชเบนเบเบชเบธเบเบเบฒเบเบเบฒเบเบงเบดเบเบดเปเบชเบเบฒเบเบฅเบงเบเบฅเบงเบก
เบเบตเบกเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเป (เปเบฅเบฐเปเบเบฐเบเปเบฒเปเบซเปเบเปเบฒเบ) เบเบฒเบเปเบฅเบทเบญเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเปเปเปเบเบเบตเป:
-Werror
-Wall
-Wextra
-Wpedantic
-Wcast-align
-Wcast-qual
-Wconversion
-Wctor-dtor-privacy
-Wenum-compare
-Wfloat-equal
-Wnon-virtual-dtor
-Wold-style-cast
-Woverloaded-virtual
-Wredundant-decls
-Wsign-conversion
-Wsign-promo
เปเบเบตเบเปเบเปเบเบงเบเบกเบฑเบเปเบเปเบเบเบเบฒเบเบเบญเบเบเปเบฒเบเปเบฅเบฐเบฎเบฝเบเบฎเบนเปเบซเบผเบฒเบเบเปเบฝเบงเบเบฑเบเบฅเบฐเบซเบฑเบเบเบญเบเบเปเบฒเบ.
เบเบถเบเบเบดเบเบเบฑเบเบกเบฒเบเบเบฐเบเบฒเบ
เบเบฐเบเบฒเบเบฒเบกเบเปเปเปเบเปเบชเบดเปเบเบเบตเปเบญเบตเบเปเบชเปเปเบงเบเบตเบเปเบฒเบกเบต analogues เบกเบฒเบเบเบฐเบเบฒเบ, เปเบฅเบฐเบเปเบฒเบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเบขเปเบฒเบเปเบเปเบเบดเบ, เบซเปเปเบเบงเบเบกเบฑเบเบขเบนเปเปเบเบเบฅเบฑเบญเบเบเบดเปเบชเบเบชเปเบฒเบฅเบฑเบ macros (เบซเบผเบทเบชเบดเปเบเบญเบทเปเบ) เปเบฅเบฐเบเบฝเบเปเบเปเบเปเปเปเบซเปเบฅเบฐเบซเบฑเบเบเบญเบเบเปเบฒเบเบเบทเบเบฅเบงเบเบฅเบงเบกเบเบฒเบเปเบเปเปเบเบทเปเบญเบเปเบเบเบตเปเบเปเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ.
เบเบถเบเบเบดเบเบเบฑเบเบเบงเบฒเบกเบซเบกเบฒเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบกเบฒเบเบเบฐเบเบฒเบ
เบเบฒเบเบเบงเบเบเปเบญเบเบเบงเบ, เบเบนเบเบเปเบญเบเบเบนเบ, เบเบฒเบเปเบญเบตเปเบเบเบฑเบเบเบฑเบเบเปเบญเบเปเบเบฑเบ function call, copy เบเปเบญเบ copy, carry must be carry, container must be iterable, iterator เบเปเบญเบเบกเบตเปเบเบฃเปเบกเบเบฑเบ ++
เปเบฅเบฐเบเบฒเบเบญเปเบฒเบเบญเบดเบ *
. เปเบฅเบฐเบญเบทเปเบเปเปเบฅเบฐเบญเบทเปเบเป.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบดเบเบงเปเบฒเบเบงเบฒเบกเบเบดเบเปเบกเปเบเบเบฐเปเบเปเบ. เบกเบตเบเบฒเบเบชเปเบฒเบเบเบฑเปเบเบชเบปเบเบเบดเบชเบฑเบเบเบฒเบเบตเปเบเปเปเบกเบตเบเบฒเบเบเบนเบเบกเบฑเบ, เปเบเปเบงเปเบฒเบเบนเปเปเบเปเบเบฑเบเบซเบกเบปเบเปเบฅเบฐเบเบนเปเบญเปเบฒเบเบฅเบฐเบซเบฑเบเบเบญเบเบเปเบฒเบเบเบฒเบเบงเปเบฒเบเบฐเปเบซเบฑเบ. เบขเปเบฒเบเบฐเบเบฒเบเบฒเบกเบซเบฅเบญเบเบฅเบงเบเบเบปเบเบญเบทเปเบ, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเปเบเบปเปเบฒเบเบฐ outwit เบเบปเบงเปเบญเบ.
เบเบฝเบเบฅเบฐเบซเบฑเบเปเบเบปเปเบฒเบเบฑเบเปเบเป
เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบเปเบญเบ เปเบฒเบ เปเบเบดเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ. เบกเบฑเบเปเบเบฑเบเบเบงเบฒเบกเบเบฒเบเบฐเบซเบเบฒเบชเบนเบเบเบตเปเบเบฒเบเปเบเปเบเบญเบเบเบญเบเบซเปเบญเบเบฎเบฝเบเปเบฅเบฐเบซเบเปเบฒเบเบตเปเบเบญเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเบเบฑเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบเปเบฅเบฐเบญเบทเปเบเป (เบเบปเบงเบขเปเบฒเบ, Boost).
เบฎเบนเปเบชเบถเบเบงเปเบฒเบเปเปเปเบชเบเบเปเบฒเปเบเบทเปเบญเปเบเบปเปเบฒเปเบเปเบเบดเปเบเปเบเบเบฒเบเปเบเปเบเบญเบ STL เปเบฅเบฐ Boost. เบกเบตเบเปเปเบเบปเบเปเบงเบฑเปเบเบเบตเปเบซเบฒเบเบฒเบ, เบเปเบฒเบเบเบฐเปเบซเบฑเบเปเบเบเบขเปเบฒเบเบเบตเปเบกเบตเบเปเบฒเบเบงเบเบขเบนเปเบเบตเปเบเบฑเปเบ.
เปเบเปเบเบฐเปเบซเบเบเบชเบนเบเบชเบธเบเบเบฒเบเปเบเบทเปเบญเบเบกเบทเปเบซเบผเปเบเปเบเบตเบ
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเปเบเบเบเบปเบเบเบตเปเบเบฝเบงเบเบฑเบ, เบกเบตเบขเปเบฒเบเบซเบเปเบญเบเบชเบญเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเปเปเปเบชเบเบเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฝเบเปเบเปเบซเบเบถเปเบเบเบฑเปเบเบเบฑเบเปเบเบเบเบฒเบเบเบตเปเบกเบตเบฅเบฐเบเบปเบเบเบฒเบเบเปเปเบชเปเบฒเบ CMake.
Afterword
เบชเบธเบเบเปเบฒเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบขเบฒเบเปเบเบฑเปเบเบซเบเบฑเบเบงเปเบฒเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเปเบเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเปเปเปเบซเปเปเบเป PVS เบซเบผเบทเปเบเบทเปเบญเบเบงเบดเปเบเบฒเบฐเบชเบฐเบเบดเบเบญเบทเปเบเป. เปเบเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบธเบเบเบนเปเปเบซเปเบเปเบฒเบเบเบดเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบตเปเบกเบฑเบเปเบเบตเบเบเบถเปเบเบเบตเปเบเบฑเบเบงเบดเปเบเบฒเบฐเบชเบฐเบเบดเบเบขเบนเปเบชเบฐเปเบซเบกเบตเบเบญเบเบซเบฒเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบชเปเบฒเบเบฑเบเปเบเบฅเบฐเบซเบฑเบเบเบญเบเบเปเบฒเบ.
เบเบตเปเปเบกเปเบเบเบฝเบเปเบเปเบเบปเบเบชเบฐเบเปเบญเบ. เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบญเบเบซเบฒเปเบฅเบฐเบฅเบปเบเบฅเปเบฒเบเบชเบฒเปเบซเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com