Lecture Slides for Programming in C++ (Version 2017-02-24)

ยท Michael Adams
3,8
18 เบ„เบณเบ•เบดเบŠเบปเบก
เบ›เบถเป‰เบกเบญเบตเบšเบธเบ
1139
เปœเป‰เบฒ
เบกเบตเบชเบดเบ”

เบเปˆเบฝเบงเบเบฑเบšเบ›เบถเป‰เบก e-book เบ™เบตเป‰

This document constitutes a detailed set of lecture slides on programming using the C++ programming language.ย  The topics covered are quite broad, including the history of C++, the C++ language itself, the C++ standard library and various other libraries, and software tools, as well as numerous other programming-related topics.ย  Coverage of C++ is current with the C++14 standard.

Many aspects of the C++ language are covered from introductory to more advanced.ย  This material includes: language basics (objects, types, values, operators, expressions, control-flow constructs, functions, and namespaces), classes, templates (function, class, alias, and variable templates; template specialization; and variadic templates), lambda expressions, inheritance and run-time polymorphism, exceptions (exception safety, RAII, and smart pointers), rvalue references (move semantics and perfect forwarding), concurrency (sequential consistency, atomic memory operations, data races; threads, mutexes, condition variables, promises and futures, atomics, and fences; happens-before and synchronizes-with relationships; and sequentially-consistent and other memory models).ย  A number of best practices, tips, and idioms regarding the use of the language are also presented.ย  Some aspects of the C++ standard library are covered, including: containers, iterators, and algorithms; the std::vector and std::basic_string classes; I/O streams; time measurement; and smart pointers.ย  Various general programming-related topics are also presented, such as material on: good programming practices, finite-precision arithmetic, software documentation, software build tools (such as CMake and Make), and version control systems (such as Git).
ย 

เบเบฒเบ™เบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบš เปเบฅเบฐ เบ„เบณเบ•เบดเบŠเบปเบก

3,8
18 เบ„เบณเบ•เบดเบŠเบปเบก

เปƒเบซเป‰เบ„เบฐเปเบ™เบ™ e-book เบ™เบตเป‰

เบšเบญเบเบžเบงเบเป€เบฎเบปเบฒเบงเปˆเบฒเบ—เปˆเบฒเบ™เบ„เบดเบ”เปเบ™เบงเปƒเบ”.

เบญเปˆเบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ‚เปˆเบฒเบงโ€‹เบชเบฒเบ™

เบชเบฐเบกเบฒเบ”เป‚เบŸเบ™ เปเบฅเบฐ เปเบ—เบฑเบšเป€เบฅเบฑเบ”
เบ•เบดเบ”เบ•เบฑเป‰เบ‡ เปเบญเบฑเบš Google Play Books เบชเบณเบฅเบฑเบš Android เปเบฅเบฐ iPad/iPhone. เบกเบฑเบ™เบŠเบดเป‰เบ‡เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบเบฑเบšเบšเบฑเบ™เบŠเบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ เปเบฅเบฐ เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบญเปˆเบฒเบ™เบ—เบฒเบ‡เบญเบญเบ™เบฅเบฒเบ เบซเบผเบท เปเบšเบšเบญเบญเบšเบฅเบฒเบเป„เบ”เป‰ เบšเปเปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเบฐเบขเบนเปˆเปƒเบช.
เปเบฅเบฑเบšเบ—เบฑเบญเบš เปเบฅเบฐ เบ„เบญเบกเบžเบดเบงเป€เบ•เบต
เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŸเบฑเบ‡เบ›เบถเป‰เบกเบชเบฝเบ‡เบ—เบตเปˆเบŠเบทเป‰เปƒเบ™ Google Play เป‚เบ”เบเปƒเบŠเป‰เป‚เบ›เบฃเปเบเบฃเบกเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ‚เบญเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป„เบ”เป‰.
eReaders เปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบญเบทเปˆเบ™เป†
เป€เบžเบทเปˆเบญเบญเปˆเบฒเบ™เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™ e-ink เป€เบŠเบฑเปˆเบ™: Kobo eReader, เบ—เปˆเบฒเบ™เบˆเบณเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เบฒเบงเป‚เบซเบผเบ”เป„เบŸเบฅเปŒ เปเบฅเบฐ เป‚เบญเบ™เบเป‰เบฒเบเบกเบฑเบ™เป„เบ›เปƒเบชเปˆเบญเบธเบ›เบฐเบเบญเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบเปˆเบญเบ™. เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ„เบณเปเบ™เบฐเบ™เบณเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡ เบชเบนเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญ เป€เบžเบทเปˆเบญเป‚เบญเบ™เบเป‰เบฒเบเป„เบŸเบฅเปŒเป„เปƒเบชเปˆ eReader เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบš.