рдореБрдЭреЗ C ++ рдЕрддрд┐рд░реЗрдХ рдорд┐рд▓рд╛

рдЫрд╡рд┐ рд╣рд╛рдп рд╣рдорд░
C ++ рдореБрдЭреЗ рдПрдХ рд╕реНрддреВрдк рдореЗрдВ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдореИрдВ рдореЙрдирд┐рдЯрд░ рдкрд░ рд▓рдЯрдХрд╛рддрд╛ рд╣реВрдВ, рдЦрд┐рдбрд╝рдХреА рд╕реЗ рдмрд╛рд╣рд░ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЪрд╛рдп рдкреАрддрд╛ рд╣реВрдВ ... рдФрд░ рдореБрдЭреЗ C ++ рдорд╛рдирдХ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдореЗрдВ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рдЕрдореВрд▓реНрдп рд╡рд░реНрд╖реЛрдВ рдкрд░ рдкрдЫрддрд╛рд╡рд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдХрдВрдкрд╛рдЗрд▓рд░ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпреЗ рдореБрд╢реНрдХрд┐рд▓ рдЫреЛрдЯреА рдХрд┐рддрд╛рдмреЗрдВ C ++ In Depth рд╣реИрдВред рдЬрдм рдореИрдВрдиреЗ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбреНрд░реЗрд╕реНрдХреБ рдХреА рдкреБрд╕реНрддрдХ рдХреЗ рдХреЛрдб рдХреЛ рдирд╣реАрдВ рд╕рдордЭрд╛ рддреЛ рдореИрдВрдиреЗ рдХреИрд╕реЗ рдирд╛рд░рд╛рдЬрдЧреА рдЬрддрд╛рдИред рдЬреИрд╕рд╛ рдХрд┐ рд╕реНрдЯреНрд░реИрдЬреЗрдирдЕрдк рдФрд░ рдЙрдирдХреЗ рдЬреИрд╕реЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдиреЗ рд▓рд┐рдЦрд╛ рд╣реИред рдХреНрдпреЛрдВ? рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЦреБрдж рд╕реЗ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдЕрдм рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рднрд╛рд╖рд╛ рдЖрд░реНрдерд┐рдХ рджреГрд╖реНрдЯрд┐ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЪрд┐рдХрд┐рддреНрд╕рд╛ рд╕реЗ рдЧреБрд░реБ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрдпрддрд╛ рд╣реИ! рд╡рд╣ рдЕрдкрдиреЗ рдЕрдзреНрдпрдпрди рдореЗрдВ рд▓рдЧрд╛рдП рдЧрдП рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рдард╣рд░рд╛рддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдЖрд░реНрдерд┐рдХ рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ - рджреЛред рдФрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдХреЛрд╢рд┐рдХрд╛рдПрдВ рдЗрд╕ рдмрд╛рдд рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВрдЧреА рдХрд┐ рдХрд┐рд╕реА рдФрд░ рдХрд╛ рдкрд┐рдирдХреЛрдб рдХреЛрдб рдХреЗ рд╕рд╛рде рд╣реЛрдирд╛ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЗ рд▓рд┐рдП рдЦрддрд░рдирд╛рдХ рд╣реИ - рддреАрдиред рдореИрдВ рд░реВрдкрдХреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдмрд┐рдЦреЗрд░ рджреВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреБрднрд╡ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред


рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рддрдВрдЧ рдбрд╛рдХреБрдУрдВ рдХреЗ рдХрд╛рд░рдг: рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдирд┐рд░рдВрддрд░ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рдВ, рдореИрдВ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ
Status DetectionManager::GetDetectionStatus(const FileScanTask &fileTask) const {
    m_detector.GetDetectionStatus(fileTask);
}


. : , , , const, -тАж тАж m_detector mutable. тАж - .
? , 'm_', . ? throw ?
, тАж
, , - ┬л ┬╗.

, :
set/get . Exception reason, , , , Get, Get const, Get const volatile, ? , friend', ? , !

:
тАФ goto. do { break; } while(0); .
тАФ . ! .
тАФ , . , 4- .
тАФ . !

, , , , . тАж , .

:
тАФ 4 . ? тАФ . , .
тАФ тАФ . ,
, тАФ . тАж
тАФ reinterpret_cast, static_cast, const_cast. private_to_public_in_case_exception_cast?

, :
тАФ map'. .
typedef typename _STD tr1::conditional<
        _STD tr1::is_same<key_type, value_type>::value,
        const_iterator,
        _Tree_iterator<_Mybase> >::type iterator;


тАФ . , , тАФ . WinApi, 2 . ! TODO . , .
template <
    typename Task                                   = task_func,
    template <typename> class SchedulingPolicy      = fifo_scheduler,
    template <typename> class SizePolicy            = static_size,
    template <typename> class SizePolicyController  = resize_controller,
    template <typename> class ShutdownPolicy        = wait_for_all_tasks
  > 
  class thread_pool


, :
rvalue- &&, constexpr, . .
.
? , . C++ 0x auto STL-, .

тАФ !

. . .
. , . . , - . , .

. . . , ? , , , , - , , . , тАФ .

!


Source: https://habr.com/ru/post/In125564/


All Articles