
نویسندگان |
مجموعهای از نویسندگان در Stack Overflow |
---|---|
سال انتشار |
2019 |
تعداد صفحات |
708 |
سطح کتاب |
متوسط |
زبان کتاب |
انگلیسی |
حجم فایل |
5MB |
مطالعه کنید
درباره کتاب C++ Notes for Professionals:
کتاب C++ Notes for Professionals یک منبع رایگان و جامع برای یادگیری زبان برنامهنویسی C++ است که محتوای آن توسط توسعهدهندگان حرفهای از انجمن Stack Overflow گردآوری شده است. این کتاب طیف گستردهای از موضوعات از اصول پایهای مانند متغیرها و حلقهها تا مفاهیم پیشرفته نظیر مدیریت حافظه، طراحی الگوها، متاپروگرمینگ و همزمانی را پوشش میدهد. ساختار آموزشی آن به صورت یادداشتهای مختصر و مثالمحور طراحی شده تا یادگیری سریع و کاربردی را برای برنامهنویسان فراهم کند.خلاصه کتاب C++ Notes for Professionals:
این کتاب با معرفی مباحث پایهای زبان C++ آغاز میشود، جایی که خواننده با مفاهیمی مانند انواع دادهها، عملگرها، ورودی و خروجی، حلقهها و توابع آشنا میشود. سپس مباحث پیشرفتهتری مثل اشارهگرها، مدیریت حافظه و اصول شیءگرایی (OOP) شامل کلاسها، وراثت، پلیمورفیسم و سربارگذاری عملگرها بهطور کامل توضیح داده میشوند. استفاده از مثالهای واقعی در هر فصل به درک سریع و کاربردی کمک ویژهای میکند. بخشهای پایانی کتاب به موضوعات حرفهایتری مانند قالبها (Templates)، همزمانی (Threading)، مدیریت منابع (RAII)، الگوهای طراحی (Design Patterns) و استانداردهای جدید C++11، C++14 و C++17 اختصاص دارد. همچنین مباحثی چون تست نرمافزار، اشکالزدایی، بهینهسازی و تکنیکهای بازآرایی کد نیز گنجانده شدهاند. در نتیجه، این کتاب یک مرجع کاربردی برای دانشجویان، علاقهمندان و حتی برنامهنویسانی است که به دنبال مرور و تقویت مهارتهای خود در C++ هستند.فهرست مطالب کتاب C++ Notes for Professionals:
Getting started with C++
Literals
operator precedence
Floating Point Arithmetic
Bit Operators
Bit Manipulation
Bit fields
Arrays
Iterators
Basic input/output in c++
Loops
File I/O
C++ Streams
Stream manipulators
Flow Control
Metaprogramming
const keyword
mutable keyword
Friend keyword
Type Keywords
Basic Type Keywords
Variable Declaration Keywords
Keywords
Returning several values from a function
Polymorphism
References
Value and Reference Semantics
C++ function “call by value” vs. “call by reference”
Copying vs Assignment
Pointers
Pointers to members
The This Pointer
Smart Pointers
Classes/Structures
Function Overloading
Operator Overloading
Function Template Overloading
Virtual Member Functions
Inline functions
Special Member Functions
Non-Static Member Functions
Constant class member functions
C++ Containers
Namespaces
Header Files
Using declaration
std::string
std::array
std::vector
std::map
std::optional
std::function: To wrap any element that is callable
std::forward_list
std::pair
std::atomics
std::variant
std::iomanip
std::any
std::set and std::multiset
std::integer_sequence
Using std::unordered_map
Standard Library Algorithms
The ISO C++ Standard
Inline variables
Random number generation
Date and time using <chrono> header
Sorting
Enumeration
Iteration
Regular expressions
Implementation-defined behavior
Exceptions
Lambdas
Value Categories
Preprocessor
Data Structures in C++
Templates
Expression templates
Curiously Recurring Template Pattern (CRTP)
Threading
Thread synchronization structures
The Rule of Three, Five, And Zero
RAII: Resource Acquisition Is Initialization
RTTI: Run-Time Type Information
Mutexes
Recursive Mutex
Semaphore
Futures and Promises
Atomic Types
Type Erasure
Explicit type conversions
Unnamed types
Type Traits
Return Type Covariance
Layout of object types
Type Inference
Typedef and type aliases
type deduction
Trailing return type
Alignment
Perfect Forwarding
decltype
SFINAE (Substitution Failure Is Not An Error)
Undefined Behavior
Overload resolution
Move Semantics
Pimpl Idiom
auto
Copy Elision
Fold Expressions
Unions
Design pattern implementation in C++
Singleton Design Pattern
User-Defined Literals
Memory management
C++11 Memory Model
Scopes
static_assert
constexpr
One Definition Rule (ODR)
Unspecified behavior
Argument Dependent Name Lookup
Attributes
Recursion in C++
Arithmitic Metaprogramming
Callable Objects
Client server examples
Const Correctness
Parameter packs
Build Systems
Concurrency With OpenMP
Resource Management
Storage class specifiers
Linkage specifications
Digit separators
C incompatibilities
Side by Side Comparisons of classic C++ examples solved via C++ vs C++11 vs C++14 vs C++17
Compiling and Building
Common compile/linker errors (GCC)
More undefined behaviors in C++
Unit Testing in C++
C++ Debugging and Debug-prevention Tools & Techniques
Optimization in C++
Optimization
Profiling
Refactoring Techniques