# **TẤT TẦN TẬT VỀ C và C++**
* Hình ảnh minh họa mang tính chống trôi
> Một số cái được mình lấy từ trang chủ của nó và dịch ra từ google dịch nên nghĩa có thể không sát. Mọi người có thể vào và tìm hiểu chi tiết bằng tiếng anh
**5 web tốt nhất để học C**
## 1) CodeForWin: Đây là một blog nơi người mới bắt đầu có thể học lập trình và nâng cao kỹ năng của họ lên trình độ trung cấp và chuyên nghiệp. Tại đây bạn có thể tìm được rất nhiều tài liệu, thủ thuật về ngôn ngữ C
## 2) Learn-C: Nếu bạn muốn học về C thì đây là trang web hàng đầu bạn nên ghé thăm. Dành cho mọi đối tượng từ người mới bắt đầu đến chuyên nghiệp.
## 3) CppRefernce: Đây là trang web cung cấp nhiều khóa học hoàn chỉnh cho những ai cần học C. Dành cho mọi đối tượng.
## 4) The GNU C programming Tutorials (LinuxTopia): Mục đích của GNU là dạy cách viết phần mềm bằng C. Nó chủ yếu được viết dưới dạng hướng dẫn cho người mới bắt đầu, được viết từ các lập trình viên kinh nghiệm khác nhau. Phạm vi của hướng dẫn này là cung cấp thư viện C theo cách thủ công.
## 5) Cprogramming: Tìm hiểu các hướng dẫn từ trang web sẽ giúp bạn mau chóng từ beginner thành pro.
**2 web tốt nhất để học C++**
**1) LearnCpp: ** Learncpp là một trang web hoàn toàn miễn phí, cung cấp cho bạn để học cách lập trình C ++. Cho dù bạn là người mới bắt đầu hay chuyên nghiệp. Các hướng dẫn trên trang web này sẽ dạy cho bạn mọi thứ bạn cần biết với rất nhiều ví dụ.
2) **Cplusplus:** Một trang web tuyệt vời cho sinh viên khoa học máy tính và nhà phát triển học ngôn ngữ lập trình C ++ từ đầu đến cấp độ nâng cao.
Trang web này có rất nhiều tài liệu, hướng dẫn, các kỹ năng về C++ dành cho bạn.
**10 web tốt nhất để bạn học c và c++**
## 1) MyCplus
## Là trang web hàng đầu để học C và C++ . Trang web này cung cấp nhiều tài nguyên cần thiết như hướng dẫn lập trình, mã nguồn, tài liệu tham khảo thư viện và cả diễn đàn thảo luận nơi bạn có thể đăng vấn đề của mình.
## 2) Cprogramming
## Nếu muốn học C/C++ thì bạn không nên bỏ qua trang web này. Đặc biệt là những người mới bắt đầu học hai ngôn ngữ này. Nơi đây sẽ giúp bạn nắm vững kiến thức và dần trở nên thành thạo.
## 3) CppRefernce
##
## Và rất nhiều trang khác, mình có nói ở một số bài trước
## 4) Udemy
## 5) Codecadamy
## 6) Pluralsight
## 7) Coursera
## 8) W3school
## 9) Khan Academy
## 10) Treehouse
## 11) Vv….
##
## 9 Kênh Youtube tốt nhất để bạn học C và C++
# **1)[C Video Tutorial](https://www.youtube.com/watch?v=8Ib7nwc33uA&list=PLGLfVvz_LVvSaXCpKS395wbCcmsmgRea7)**
# 2)** [Introduction to Programming through 'C'](https://www.youtube.com/watch?v=AWliApDc61w&list=PL2_aWCzGMAwLSqGsERZGXGkA5AfMhcknE)**
# 3) **[C Language tutorials||C language by Sivaramayya](https://www.youtube.com/watch?v=SqqglqOF1Rk&list=PLd3UqWTnYXOniMKgcS0a_2O35jkRFcLR3)**
# 4) **[C Language Tutorial Videos | Mr. Srinivas](https://www.youtube.com/watch?v=si-KFFOW2gw&list=PLVlQHNRLflP8IGz6OXwlV_lgHgc72aXlh)**
# 5) **[C Programming Tutorials](https://www.youtube.com/watch?v=2NWeucMKrLI&list=PL6gx4Cwl9DGAKIXv8Yr6nhGJ9Vlcjyymq)**
# 6) **[C++](https://www.youtube.com/watch?v=18c3MTX0PK0&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb)**
[7) javidx9](https://www.youtube.com/channel/UC-yuWVUplUJZvieEligKBkA/search?query=C%2B%2B)
[8) LearnCode.academy](https://www.youtube.com/user/learncodeacademy)
[9) mycodeschool](https://www.youtube.com/channel/UClEEsT7DkdVO_fkrBw0OTrA)
[11)ProgrammingKnowledge](https://www.youtube.com/user/ProgrammingKnowledge/)
12) [edureka!](https://www.youtube.com/user/edurekaIN/playlists)
13) [Eduonix Learning Solutions](https://www.youtube.com/channel/UCAQjmY2DJqwU3Eqz0oN83aw/)
14) [CS Geeks](https://www.youtube.com/channel/UCFpCo01pOGe4tEbOTnn4_UQ/)
##
## Top 5 khóa học C++ miễn phí hàng đầu
## 1. **[C++ Tutorial for Complete Beginners](https://click.linksynergy.com/fs-bin/click?id=JVFxdTr9V80&subid=0&offerid=323058.1&type=10&tmpid=14538&RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Ffree-learn-c-tutorial-beginners%2F)**
## 2. **[C++, Short, and Sweet, Part 1](https://click.linksynergy.com/fs-bin/click?id=JVFxdTr9V80&subid=0&offerid=323058.1&type=10&tmpid=14538&RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Fcpp-short-and-sweet%2F)**
## 3. **[C++ Programming Basics](https://click.linksynergy.com/fs-bin/click?id=JVFxdTr9V80&subid=0&offerid=634352.1&type=10&tmpid=14538&RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Fc-plus-plus-programming-basics%2F)**
## 4. **[Learn C++ by Creating](https://click.linksynergy.com/fs-bin/click?id=JVFxdTr9V80&subid=0&offerid=323058.1&type=10&tmpid=14538&RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Flearn-to-program-cpp%2F)**
## 5. **[Beginning C++ Templates](https://click.linksynergy.com/fs-bin/click?id=JVFxdTr9V80&subid=0&offerid=323058.1&type=10&tmpid=14538&RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Fbeg-cpp-temp%2F)**
##
##
## TÀI NGUYÊN CHO NGƯỜI MỚI BẮT ĐẦU HỌC C++
## General
* The official [ISO C++ Get Started! page](https://isocpp.org/get-started)
## Primers
* [Herb Sutter: (Not Your Father’s) C++](https://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/-Not-Your-Father-s-C-)
* [Beginning with C++](https://www.youtube.com/watch?v=9WHRfU7U9lk) by Jens Weller
* [Learning "Modern" C++](https://www.youtube.com/playlist?list=PLaayvGRiG0xIeaQO1mEnIGAQdgWUgN_Yi) by Jason Turner
* [A Tour of C++](http://click.linksynergy.com/fs-bin/click?id=%2FTDPPeRUMm4&offerid=145238.10000310&type=3&subid=0) by Bjarne Stroustrup ([teaser](https://isocpp.org/tour))
* [C++17 - The Complete Guide](http://www.cppstd17.com/) by Nicolai M. Josuttis
* [C++ Templates - The Complete Guide, 2nd Edition](http://www.tmplbook.com/) by Nicolai M. Josuttis
# Tutorials
* Kate Gregory's [Pluralsight page](https://app.pluralsight.com/profile/author/kate-gregory)
* The cplusplus.com [tutorial](http://www.cplusplus.com/doc/tutorial/)
* [C++ London Uni](https://www.cpplondonuni.com/) ([videos](https://www.youtube.com/channel/UCVaVY-fcOSBTc_8HibVB5VA/featured))
* [Effective C++ Series](https://www.aristeia.com/books.html) by Scott Meyers
## References
* [cppreference.com](https://en.cppreference.com/) - *the* reference for standard C & C++ language and libraries
* Wikipedia's list of [C++11](https://en.wikipedia.org/wiki/C%2B%2B11), [C++14](https://en.wikipedia.org/wiki/C%2B%2B14) and [C++17](https://en.wikipedia.org/wiki/C%2B%2B17) features
* [The C++ Programming Language, 4th Edition](https://www.amazon.com/The-Programming-Language-4th-Edition/dp/0321563840/) by Bjarne Stroustrup
* [The C++ Standard Library - A Tutorial and Reference, 2nd Edition](http://www.cppstdlib.com/) by Nicolai M. Josuttis
## Try C++
* [Wandbox](https://wandbox.org/) - lets you edit, compile and run simple C++ programs in a browser
* [Compiler Explorer](https://godbolt.org/) - lets you edit and compile simple C++ programs and see what assembler is produced
## Community
* The official home of [ISO C++](https://isocpp.org/)
* [#include <C++>](https://www.includecpp.org/) - inclusivity initiative including Discord server
* [reddit](https://www.reddit.com/r/cpp/) - C++ Reddit subgroup
* [Slack](https://cpplang.now.sh/) - C++ Slack team signup page
## Once You Get Comfortable
Try these intermediate-level talks that go beyond the individual features and explain how to put together the best code with them!
* [C++11 Style](https://youtu.be/0iWb_qi2-uI) by Bjarne Stroustrup
* [Using Types Effectively](https://www.youtube.com/watch?v=ojZbFIQSdl8) by Ben Deane
* [10 Core Guidelines You Need to Start Using Now](https://www.youtube.com/watch?v=XkDEzfpdcSg) by Kate Gregory
* [Functional C++](https://www.youtube.com/watch?v=mlkE8EJZODw) by Kevlin Henney
* [C++ Seasoning](https://channel9.msdn.com/Events/GoingNative/2013/Cpp-Seasoning) by Sean Parent
* [Easy to Use, Hard to Misuse: Declarative Style in C++](https://youtu.be/I52uPJSoAT4) by Ben Deane
* [Curiously Recurring C++ Bugs at Facebook](https://youtu.be/lkgszkPnV8g) by Louis Brandy
* [Choosing the Right Integer Types in C and C++](https://youtu.be/IJaa58cfvOw) by Dan Saks
* [Testing in Software Engineering ~2010-2030](https://youtu.be/uaZtpZGFyPo) by Titus Winters
## Bite-sized Talks
· [Modern C++ Coming to Terms With Terms](https://youtu.be/14dJ4XRuDEk) by Jon Kalb
· [Modern C++](https://youtu.be/C39AaMFys_k) by Michael Caisse
· [unsigned: A Guideline for Better Code](https://youtu.be/wvtFGa6XJDU) by Jon Kalb
· [The Shape of a Program](https://www.youtube.com/watch?v=P2lxGnbDkDI) by James McNellis
· [The End of std::endl](https://youtu.be/6WeEMlmrfOI) by Dietmar Kühl
· [10 Things Junior C++ Devs Don't Get](https://youtu.be/dSSIXKe6iXE) by Victor Ciura
· [Can I has grammar?](https://youtu.be/tsG95Y-C14k) by Timur Doumler
· [Standard Slam](https://youtu.be/ZLNq-4IiNTY) by Michael Caisse
· [Algorithm Mnemonics: Increase your Productivity with STL Algorithms](https://youtu.be/tSq7yDwS1vM) by Tommy Bennett
· [Regular Expressions Redefined in C++](https://youtu.be/3WGsN_Hp9QY) by Hana Dusikova
· [Presenting Code](https://www.youtube.com/watch?v=-o-Wjy_ISvs) by Jens Weller
· [Why not Conan (part II)?](https://youtu.be/BmtTbhdalyc) by Diego Rodriguez-Lopez
· [This is Why We Can’t Have Nice Things](https://youtu.be/fv--IKZFVO8) by Jon Kalb
· [A Fool's Consistency](https://youtu.be/_27NHB1OlNI) by Jonathan Müller
· [Programing: The Last 4000 Years](https://youtu.be/y2___qaG_9Q) by Juanpe Bolívar
· [Standardese](https://youtu.be/zoSGHMi-0lE) by Jonathan Müller
· [C++ Koans](https://youtu.be/Ft3QSbdhP3s) by Tony Van Eerd
· [Readable C++](https://youtu.be/zUVQhcu32rg) by Timur Doumler
· [Communicating via Diagnostics: Observations and Tips for Authors](https://youtu.be/GNhwzTlcDp0) by Walter Brown
· [quick-bench.com](https://youtu.be/mDkuJvxlF4I) by Fred Tingaud
· [Workflow hacks for developers](https://youtu.be/K4XxeB1Duyo) by Anny Gakhokidze
· [Copy Elision](https://youtu.be/IZbL-RGr_mk) by Jon Kalb
· [You're Not as Smart as You Think You Are](https://youtu.be/fbkfH0IZW8g) by Phil Nash
· [Beyond the Horizon of C++](https://youtu.be/4Wm6doj9iUM) by Hana Dusíková
· [Why you should avoid Linked Lists](https://www.youtube.com/watch?v=YQs6IC-vgmo) by Bjarne Stroustrup
## Improve Your Skills
* [HackerRank](https://www.hackerrank.com/) sets you challenges to hone your basic programming skills
* [GitHub C++ Projects](https://github.com/trending/c++) are one way to learn by contributing to open source C++ projects
## C++ Learning Resources
## Usage
## This document contains videos and articles about different aspects of C++ programming. Best way to learn from them is to try them yourself, or in case of a lecture, read some more about this topic in C++ documentation.
##
## Advanced topics
## You should not proceed to the topics after C++ STL without knowing the basics of C++ (or completing at least one series from Basics Of C++ category). The content following C++ STL isn’t sorted by the difficulity, everything there is considered advanced C++. You should be able to understand most of that and apply it in real world after compeling Basics Of C++ category.
##
## Purpose
## This place is mostly targeted for people with basic C++ and STL knowledge. It’s supposed to improve your code’s readibility, performance and make your code more compact by using STL features.
##
## Contributing
## Create either an issue with title and link to the resource you would like to add to this document or create new branch, add some changes and create a pull request.
##
## Comments and suggestions
## Please leave your comments, thoughts and suggestions via Issues.
##
## Table of Contents
## Best learning resources for C++
## Basics Of C++ 1
## C++ STL
## STL Containers
## STL Algorithms
## STL Utilities
## Advanced C++
## Constexpr
## Functional
## Time in C++
## Multithreading
## Type Related Programming
## Templates
## Concepts
## Type deduction
## SFINAE - Substitution Failure Is Not An Error
## Meta-programming
## C++ Memory Management
## Basics of memory management
## Garbage collection
## Allocators
## C++ Aplication Design
## C++ Object Oriented Design
## C++ Design Patterns
## C++ Data Oriented Design
## C++ Programming Style
## Generalities about C++ programming
## Best practices for C++
## Programing Guidelines
## C++ Libraries
## Embeding different languages in C++
## Custom container libraries for C++
## raphical interfaces for C++
## Best learning resources for C++
## cppreference.com
## TheChernoProject YouTube Channel 1
## Code Blacksmith Youtube Channel 1
## CppCon Youtube Channel
## Basics Of C++
## C++ programming tutorial series ~ Video Tutorial Series by TheChernoProject
## C++ programming tutorial series ~ Video Tutorial Series by LearningLad
## C++ advanced programming tutorial series ~ Video Tutorial Series by Bo Qian
## learncpp.com
## C++ Tutorial for Beginners - Full Course ~ Video Tutorial Series by freeCodeCamp.org
## isocpp.org
## CppCoreGuidelines
## C++ STL
## STL Containers
## Reference for all STL Containers
## STL Containers - Learn Modern C++ ~ Video Tutorial by Code Blacksmith
## How to write an STL compatible container ~ Article by Vanand Gasparyan
## Writing your own STL container ~ Question answer by Mooing Duck
## Why does the C++ STL not provide any “tree” containers? ~ Question Answer by Martin York
## Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step ~ CppCon 2017 Talk by Matt Kulukundis <-
## Enough string_view to Hang Ourselves ~ CppCon 2018 Talk by Victor Ciura
## Customizing the Standard Containers ~ CppCon 2017 Talk by Marshall Clow
## STL Algorithms
## 105 STL Algorithms in Less Than an Hour ~ ACCU 2018 Talk by Jonathan Boccara
## STL Algorithms - why you should use them, and how to write your own ~ CppCon 2016 Talk by Marshall Clow <-
## STL Algorithms in Action ~ CppCon 2016 Talk by Michael VanLoon <-
## Writing Standard Library Compliant Data Structures and Algorithms ~ CppCon 2018 Talk by Marc Gregoire <-
## C++17 Parallel Algorithms ~ CppCon 2017 Talk by Dietmar Kühl <-
## Fantastic Algorithms and Where To Find Them ~ CppCon 2017 Talk by Nicholas Ormrod <-
## STL Utilities
## tuple<>: What’s New and How it Works ~ CppCon 2016 Talk by Stephan T. Lavavej
## std::optional ~ Video Tutorial by Jason Turner
## std::any ~ Video Tutorial by Jason Turner
## How to Write Well-Behaved Value Wrappers ~ CppCon 2018 Talk by Simon Brand
## Effective replacement of dynamic polymorphism with std::variant ~ CppCon 2018 Talk by Mateusz Pusz <-
## Advanced C++
## Constexpr
## constexpr - Taking Constants to the Next Level ~ Video Tutorial by Code Blacksmith
## constexpr: Introduction ~ CppCon 2015 Talk by Scott Schurr
## constexpr: Applications ~ CppCon 2015 Talk by Scott Schurr <-
## Functional
## functional: What’s New, And Proper Usage ~ CppCon 2015 Talk by Stephan T. Lavavej
## Time in C++
## A <chrono> Tutorial ~ CppCon 2016 Talk by Howard Hinnant <-
## Benchmark Timer ~ Video Tutorial by Code Blacksmith
## Random
## What C++ Programmers Need to Know about Header <random> ~ CppCon 2016 Talk by Walter E. Brown <-
## Multithreading
## What do you mean “thread-safe”? ~ CppCon 2018 Talk by Geoffrey Romer
## Thread Synchronization Primitives ~ Video Tutorial by Code Blacksmith
## Thread Pool ~ Video Tutorial by Code Blacksmith
## Multithreaded Logger ~ Video Tutorial by Code Blacksmith
## Memory Barriers ~ Video Tutorial by Code Blacksmith
## Multithreading is the answer. What is the question? Part 1 Part 2 ~ CppCon 2017 Talk by Ansel Sermersheim <-
## The Trap of std::async ~ Video Tutorial by Code Blacksmith
## Type related programming
## Templates
## Templates in C++ ~ Video Tutorial by TheChernoProject
## Variadic Templates ~ Video Tutorial by Jason Turner
## Variadic Templates in C++11 / C++14 - An Introduction ~ CppCon 2015 Talk by Peter Sommerlad <-
## std::enable_if
## Using Template Magic to Automatically Generate Hybrid CPU/GPU-Code ~ CppCon 2018 Talk by Elmar Westphal
## C++ Templates Revised ~ CppCon 2017 Talk by Nicolai Josuttis <-
## Concepts
## Concepts: The Future of Generic Programming (the future is here) ~ CppCon 2018 Talk by Bjarne Stroustrup <-
## Concepts in 60: Everything you need to know and nothing you don’t ~ CppCon 2018 Talk by Andrew Sutton <-
## Type deduction
## Type Deduction and Why You Care ~ CppCon 2014 Talk by Scott Meyers
## Type Traits - what are they and why should I use them? ~ CppCon 2015 Talk by Marshall Clow
## Template Type Deduction ~ Video Tutorial by Code Blacksmith
## Class Template Argument Deduction for Everyone ~ CppCon 2018 Talk by Stephan T. Lavavej <-
## Type Punning in C++17: Avoiding Pun-defined Behavior ~ CppCon 2017 Talk by Scott Shurr <-
## SFINAE - Substitution Failure Is Not An Error
## SFINAE documentation
## SFINAE introduction
## Check if type has a member method of given signature ~ Question Answer by jrok
## Custom Overload Sets and Inline SFINAE for Truly Generic Interfaces ~ CppCon 2018 Talk by Vincent Reverdy <-
## Meta-programming
## Introduction to C++ Template Metaprogramming ~ NDC Oslo 2016 Talk by Sasha Goldshtein <-
## C++ Memory Management
## Basics of memory management
## Modern Memory Management ~ Video Tutorial by Code Blacksmith
## std::launder - what is it? ~ Video Tutorial by Code Blacksmith
## Move Semantics Explained ~ Video Tutorial by Code Blacksmith
## Copy and Swap ~ Video Tutorial by Code Blacksmith
## C++ Alignment, Cache Line and Best Practice ~ Lecture by Professor Sheep
## Garbage Collection
## GC FAQ ~ Document regarding garbage collection in C++
## Allocators
## std::allocator Is to Allocation what std::vector Is to Vexation ~ CppCon 2015 Talk by Andrei Alexandrescu
## Custom Allocator Tutorial ~ Video Tutorial by Code Blacksmith
## How to Write a Custom Allocator ~ CppCon 2017 Talk by Bob Steagall
## Efficient Object Pool ~ Video Tutorial by Code Blacksmith
## Local (‘Arena’) Memory Allocators (part 1) ~ CppCon 2017 Talk by John Lakos <-
## Local (‘Arena’) Memory Allocators (part 2) ~ CppCon 2017 Talk by John Lakos <-
## C++ Error Handling
## C++ Exception Handling ~ Article on tutorialspoint.com
## Exception Safety ~ Video Tutorial by Code Blacksmith
## std::exception
## Custom C++ Exceptions for Beginners ~ Article by Peter Forgacs
## C++ Application Design
## C++ in Huge AAA Games ~ CppCon 2014 Talk by Nicolas Fleury <-
## The C++ Execution Model ~ CppCon 2018 Talk by Adelstein Lelbach <-
## Game engine using STD C++ 11 ~ CppCon 2016 Talk by Jason Jurecka <-
## Modern User Interfaces for C++ ~ CppCon 2015 Talk by Milian Wolff <-
## EA’s Secret Weapon: Packages and Modules ~ CppCon 2017 Talk by Scott Wardle <-
## Naivety of Creating Cross-Platform, Modern C++ Libraries… ~ CppCon 2017 Talk by Jonathan Henson <-
## Modern C++ API Design (part 1 of 2) ~ CppCon 2018 Talk by Titus Winters <-
## Modern C++ API Design (part 2 of 2) ~ CppCon 2018 Talk by Titus Winters <-
## Better Code: Human Interface ~ CppCon 2018 Talk by Sean Parent <-
## Modern C++ Interfaces… ~ CppCon 2017 Talk by Stephen Dewhurst <-
## Building C++ Modules ~ CppCon 2017 Talk by Boris Kolpackov <-
## C++ Object Oriented Design
## Intro to the C++ Object Model ~ CppCon 2015 Talk by Richard Powell
## Design Patterns and Modern C++ ~ Video Tutorial by JetBrainsTV <-
## Multiple Inheritance problem in C++ ~ Video Tutorial by Bo Qian
## Using Functional Programming Patterns… ~ CppCon 2017 Talk by Jeremy Demeule & Quentin Duval <-
## C++ Design Patterns
## Singleton Design Pattern ~ Video Tutorial by Code Blacksmith
## Strategy Design Pattern ~ Video Tutorial by Code Blacksmith
## Builder Design Pattern ~ Video Tutorial by Code Blacksmith
## Agent based class design ~ CppCon 2017 Talk by Odin Holmes <-
## Design Patterns for Low-Level Real-Time Rendering ~ CppCon 2017 Talk by Nicolas Guillemot <-
## C++ Data Oriented Design
## Implementation of a component-based entity system in modern C++ ~ CppCon 2015 Talk By Vittorio Romeo <-
## Data Driven Entity Component System in C++17 ~ Code Europe Autumn 2017 Talk K.Kisielewicz
## OOP Is Dead, Long Live Data-oriented Design ~ CppCon 2018 Talk by Stoyan Nikolov
## C++ Programming Style
## Generalities about C++ programming
## Free Your Functions! ~ CppCon 2017 Talk by Klaus Igleberger <-
## Make Classes Great Again! (Using Concepts for Customization Points) ~ CppCon 2017 Talk by Vinnie Falco
## Operator Overloading: History, Principles and Practice ~ CppCom 2018 Talk by Ben Deane <-
## How to Write Effective Documentation for C++ Libraries… ~ CppCon 2017 Talk by Robert Ramey <-
## Everything You Ever Wanted to Know about DLLs ~ CppCon 2017 Talk by James McNellis <-
## Best practices for C++
## Readable C++ ~ CppCon 2016 Talk by Timur Doumler <-
## Building Software Capital: How to write the highest quality code and why ~ CppCon 2016 Talk by David Sankel <-
## Secure Coding Best Practices: Your First Line Is The Last Line Of Defense (1 of 2) ~ CppCon 2018 Talk by Matthew Butler <-
## Secure Coding Best Practices: Your First Line Is The Last Line Of Defense (2 of 2) ~ CppCon 2018 Talk by Matthew Butler <-
## Applied Best Practices ~ CppCon 2018 Talk by Jason Turner <-
## Practical Performance Practices ~ CppCon 2016 Talk by Jason Turner <-
## Writing Good C++14… By Default ~ CppCon 2015 Talk by Herb Sutter <-
## Easy to Use, Hard to Misuse: Declarative Style in C++ ~ CppCon 2018 Talk Ben Deane <-
## Programing Guidelines
## C++ const correctness guidelines
## CppCoreGuidelines
## 10 Core Guidelines You Need to Start Using Now ~ CppCon 2017 Talk by Kate Gregory
## C++ Libraries
## Boost C++ Libraries ~ Somewhat an extension for current C++ standard
## GSL ~ Guidelines Support Library by Microsoft
## List of Open Source C++ libraries
## Embeding different languages in C++
## Howling at the Moon: Lua for C++ Programmers ~ CppCon 2017 Talk by Andreas Weis
## Embedding Lua in C++ ~ Video Tutorial Series by Dave Poo
## Introduction to C++ python extensions and embedding Python in C++ Apps ~ CppCon 2016 Talk by Diego Rodriguez-Losada
## Custom container libraries for C++
## tree.hh ~ Tree Type container library for C++
## Graphical interfaces for C++
## learnopengl.org
## opengl-tutorial.org
## C++ OpenGL 1 ~ Video Tutorial Series by TheChernoProject
## WXwidgets C++ Tutorial ~ Video Tutorial by javidx9 <-
## Source: GitHub
##
## C learning resources
## This repository contains list of books and other resources about C programming that in my opinion are best to learn from. There are many sources but not every is correct. This way, beginners make a lot of mistakes in their code. I suggest reading books in the order I’ve provided.
##
## Where not to learn from:
## TutorialsPoint. TutorialsPoint is an good website for reference but not for learning. If you want to learn something to it’s fullest, get a book.
## Udemy. Udemy is not good place to learn C from. Courses cost pretty much ($100). Some courses recommend using old Borland C++ Builder - learning outdated stuff is not good way to go.
## SoloLearn. SoloLearn does not offer any course to learn C from. The website teaches you only theoretically how to do something, while your own experience teaches practically you how to do something.
## Youtube. Learning from various youtube channels that are not-so-popular is not a good idea. You need solid place to learn from. Although, there are channels like this one. They introduce really bad programming practices and teach how not to program.
## Where to learn from:
## K&R book is often thought as the bible of C. There are many C standards but K&R C is thought as the most common - every compiler has to support it. The most used standard is C89, although we have C99 and C11 that are more recent. This way, K&R book is always on topic. It was written by creators of C - they can’t be wrong.
##
## Pros:
## This book is written by Dennis Ritchie , who was one of the main people behind the development and design of C and UNIX.
## This book is so well known that it’s affectionately called “K&R”, after the authors.
## It’s been cited in many other books and is familiar to most, if not all, CS students.
## The challenges at the end of each chapter do a great job requiring many of the skills learned up to that point. Completing the challenges is a great way of insuring that you understand the material.
## Cons:
## The K&R style works for old Unix mainframe command-line programs that exit after a simple task and leave the cleanup to the OS; where input is only from trusted experts; and most functions are only called internally to the program. The environment is very different today. This style will get your server pwned by hackers, or crash it due to a memory leak. You will have to learn C again to use C correctly in the real world today .
## Some and practices are out of date, so errata and googling is needed while going through the book.
## Assumes familiarity not only with programming concepts but some C language specifics which are not so simple for beginners.
## C Programming: Modern approach, 2nd Edition
##
## Pros:
## The book really challenges you to think like a programmer by constantly asking questions that force you to solve problems, rather than telling you how to solve the problem and only asking you to write the syntax. This way helps beginner programmers to get into programming.
## The author breaks things down into small pieces and uses examples to explain everything in a very clear way.
## Doesn’t have exercise answers (can be counted like con)
## Learn C the hard way. Just looking at the title, it may not be greatest book for newcomer to learn.
##
## Pros
## It’s not just about C. It will teach to become an over-all better programmer and give a better understanding of computer science. You are going to learn about things like testing, debugging, and sorting algorithms.
## Includes 52 practical project ideas that include everything from pointers to stacks and queues.
## Con: States in the preface that it is not for first-time programmers. Better check something else, if you are new to C.
## C Programming Absolute Beginner’s Guide (3rd Edition). It’s suggested to check out this book if others are too difficult for you.
##
## Pro: There are 32 chapters in this book, which gives 352 pages. The short chapters make it extremely easy to use this book as a reference, and breaks everything down into small pieces that are easy to digest.
## Con: This book, as the title suggests, is really aimed at people with no prior programming experience. Fundamentals are gone through in detail, this would be quite a slow review for someone with experience in another language.
## (NASA C style book)[http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf]. This book is pretty nice place to learn proper way how to program in C to write readable code.
##
## Please note that this list as stated on beginning, is based primarily on my opinion. If you disagree with some facts, please open issue / submit a pull request that contents are satisfying you. I am working on a C book that after review will probably get on this list. Books that I am not sure about quality:
##
## Programming in C (4th Edition) (Developer’s Library)
## Source: GitHub
##
## Begin(c++) : Resources for C++ Beginners
## General
## :earth_asia: The official ISO C++ Get Started! page
## Primers
## :movie_camera: Herb Sutter: (Not Your Father’s) C++
## :movie_camera: Beginning with C++ by Jens Weller
## :movie_camera: Learning “Modern” C++ by Jason Turner
## :open_book: A Tour of C++ by Bjarne Stroustrup (teaser)
## :open_book: C++17 - The Complete Guide by Nicolai M. Josuttis
## :open_book: C++ Templates - The Complete Guide, 2nd Edition by Nicolai M. Josuttis
## Tutorials
## :movie_camera: Kate Gregory’s Pluralsight page
## :school: The cplusplus.com tutorial
## :movie_camera: C++ London Uni (videos)
## :open_book: Effective C++ Series by Scott Meyers
## References
## :earth_asia: cppreference.com - the reference for standard C & C++ language and libraries
## :earth_asia: Wikipedia’s list of C++11, C++14 and C++17 features
## :open_book: The C++ Programming Language, 4th Edition by Bjarne Stroustrup
## :open_book: The C++ Standard Library - A Tutorial and Reference, 2nd Edition by Nicolai M. Josuttis
## Try C++
## :earth_asia: Wandbox - lets you edit, compile and run simple C++ programs in a browser
## :earth_asia: Compiler Explorer - lets you edit and compile simple C++ programs and see what assembler is produced
## Community
## :earth_asia: The official home of ISO C++
## :earth_asia: #include <C++> - inclusivity initiative including Discord server
## :earth_asia: reddit - C++ Reddit subgroup
## :earth_asia: Slack - C++ Slack team signup page
## Once You Get Comfortable
## Try these intermediate-level talks that go beyond the individual features and explain how to put together the best code with them!
##
## :movie_camera: C++11 Style by Bjarne Stroustrup
## :movie_camera: Using Types Effectively by Ben Deane
## :movie_camera: 10 Core Guidelines You Need to Start Using Now by Kate Gregory
## :movie_camera: Functional C++ by Kevlin Henney
## :movie_camera: C++ Seasoning by Sean Parent
## :movie_camera: Easy to Use, Hard to Misuse: Declarative Style in C++ by Ben Deane
## :movie_camera: Curiously Recurring C++ Bugs at Facebook by Louis Brandy
## :movie_camera: Choosing the Right Integer Types in C and C++ by Dan Saks
## :movie_camera: Testing in Software Engineering ~2010-2030 by Titus Winters
## Bite-sized Talks
## :movie_camera: Modern C++ Coming to Terms With Terms by Jon Kalb
## :movie_camera: Modern C++ by Michael Caisse
## :movie_camera: unsigned: A Guideline for Better Code by Jon Kalb
## :movie_camera: The Shape of a Program by James McNellis
## :movie_camera: The End of std::endl by Dietmar Kühl
## :movie_camera: 10 Things Junior C++ Devs Don’t Get by Victor Ciura
## :movie_camera: Can I has grammar? by Timur Doumler
## :movie_camera: Standard Slam by Michael Caisse
## :movie_camera: Algorithm Mnemonics: Increase your Productivity with STL Algorithms by Tommy Bennett
## :movie_camera: Regular Expressions Redefined in C++ by Hana Dusikova
## :movie_camera: Presenting Code by Jens Weller
## :movie_camera: Why not Conan (part II)? by Diego Rodriguez-Lopez
## :movie_camera: This is Why We Can’t Have Nice Things by Jon Kalb
## :movie_camera: A Fool’s Consistency by Jonathan Müller
## :movie_camera: Programing: The Last 4000 Years by Juanpe Bolívar
## :movie_camera: Standardese by Jonathan Müller
## :movie_camera: C++ Koans by Tony Van Eerd
## :movie_camera: Readable C++ by Timur Doumler
## :movie_camera: Communicating via Diagnostics: Observations and Tips for Authors by Walter Brown
## :movie_camera: quick-bench.com by Fred Tingaud
## :movie_camera: Workflow hacks for developers by Anny Gakhokidze
## :movie_camera: Copy Elision by Jon Kalb
## :movie_camera: You’re Not as Smart as You Think You Are by Phil Nash
## :movie_camera: Beyond the Horizon of C++ by Hana Dusíková
## :movie_camera: Why you should avoid Linked Lists 1 by Bjarne Stroustrup
## Improve Your Skills
## :earth_asia: HackerRank sets you challenges to hone your basic programming skills
## :earth_asia: GitHub C++ Projects are one way to learn by contributing to open source C++ projects
## Source: GitHub
##
## A small collection of notes and resources related to basic C++.
## Stack Overflow’s Answer
## The Definitive C++ Book Guide and List
## This question attempts to collect the few pearls among the dozens of bad C++ books that are published every year. Unlike many other programming languages, which are often picked up on the go from tutorials found on the Internet, few are able to quickly pick up C++ without studying a well-written C++ book. It is way too big and complex for doing this. In fact, it is so big and complex, that there are very many very bad C++ books out there. And we are not talking about bad style, but things like sporting glaringly obvious factual errors and promoting abysmally bad programming styles.
##
## C++ Crash Course
## Gibs Jose’s C++ Cheat Sheet
## Crash Course by Nicolas P Rougie
## A Transition Guide from Python 2.x to C++
## Michael H. Goldwasser David Letscher, Saint Louis University, August 2011 revision
## Sololearn
## Others
## Learning Lad: Learn C++
## Learn C++ From Programiz
## C++ Notes by Fredosaurus, Expanding an Array
## programminghelporg
## See also: ./old./md/ directory
## Source: GitHub
##
## Awesome C/C++ performance optimization resources
## Contents
## Talks
## Articles
## Sites/Blogs
## Tools
## Libraries
## Books
## About
## Talks
## 2013:
##
## Going Native 2013 - Andrei Alexandrescu, Writing Quick Code in C++, Quickly
## Going Native 2013 - Stephan T. Lavavej, rand() Considered Harmful
## Going Native 2013 - Sean Parent, C++ Seasoning
## 2014:
##
## code::dive conference 2014 Scott Meyers: Cpu Caches and Why You Care(slides)
## CppCon 2014 Andrei Alexandrescu “Optimization Tips - Mo’ Hustle Mo’ Problems”
## CppCon 2014 Mike Acton “Data-Oriented Design and C++”
## CppCon 2014 Chandler Carruth “Efficiency with Algorithms, Performance with Data Structures”
## 2015:
##
## code::dive conference 2015 Andrei Alexandrescu - Writing Fast Code I (slides)
## code::dive conference 2015 Andrei Alexandrescu - Writing Fast Code II (slides)
## CppCon 2015 Chandler Carruth, “Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!”
## CppCon 2015 Bryce Adelstein-Lelbach “Benchmarking C++ Code"
## Meeting C++ 2015 Understanding Compiler Optimization - Chandler Carruth - Opening Keynote
## 2016:
##
## ACCU 2016 ‘Fastware’ - Andrei Alexandrescu
## C++Now 2016 Timur Doumler: C++ Performance in Practice: Align, Vectorise, Cache, Jump! (slides)
## C++Now 2016 David Stone: Exceptional Performance
## C++Now 2016 Jason Turner: Practical Performance Practices
## CppCon 2016 Timur Doumler “Want fast C++? Know your hardware!"
## CppCon 2016 Jason Turner “Practical Performance Practices"
## CppCon 2016 Chandler Carruth “High Performance Code 201: Hybrid Data Structures"
## CppCon 2016 McKenney “Beyond the Issaquah Challenge: High-Performance Scalable Complex Updates"
## CppCon 2016 D. Dechev & D. Zhang “High Performance C++ Concurrent Transactional Data Structures"
## CppCon 2016 Matthew Bentley “Colonies, performance and why you should care"
## CppCon 2016 Christiaan Pretorius “Cache Optimized Hash Tables”
## CppCon 2016 Tim Haines “Improving Performance Through Compiler Switches…"
## Articles
## Three Optimization Tips for C++, by Andrei Alexandrescu, @Facebook Engineering
## why GNU grep is fast
## Hash Functions all the way down from Aras-P, and the follow up here
## Why do CPUs have multiple cache levels?
## ETW Central - by RandomASCII
## Micro benchmarking libraries for C++ - on Bartek’s blog
## How to start with Software Optimization, from Flexible Particle Experiments series, Bartek’s blog.
## Taking advantage of cache coherence in your programs
## Gallery of Processor Cache Effects, C#
## How We Beat C++ STL Binary Search
## C++ benchmark – std::vector VS std::list VS std::deque
## Container Study
## Associative-Container Performance Tests
## C++ Core Guidelines, Performance section
## C++ Best Practices, Performance section
## That’s Not Normal–the Performance of Odd Floats
## gprof, Valgrind and gperftools – an evaluation of some tools for application level CPU profiling on Linux
## The Performance API (PAPI) project
## Roofline Performance Model
## C++ timing strategies compared (in Windows) - from baremetalcode blog.
## Simply about complex - Data Oriented Design by example
## Guide into OpenMP: Easy multithreading programming for C++
## C++ Optimization Bibliography - Kurt Guntheroth’s
## Manuals:
##
## Intel® 64 and IA-32 Architectures Optimization Reference Manual
## Sites/Blogs
## Agner`s CPU blog
## Agner’s Software optimization resources
## The ryg blog
## Random ASCII
## The Every Computer Performance Blog
## The Supercomputing Blog
## Daniel Lemire’s blog
## Wojciech Mula’s site: 0x80.pl - articles on performance, SIMD
## Bartek’s programming blog
## Tools
## Free
## AMD Code XL
## Very Sleepy
## Proffy
## Windows Performance Toolkit - XPERF
## Performance and Diagnostic Tools in Visual Studio 2015
## Valgrind
## TAU Performance System
## Google Performance Tools (gperftools)
## Linux perf tools
## NVIDIA Visual Profiler
## Qualcomm Snapdragon Profiler
## Oracle Solaris Studio Performance Analyzer
## OProfile for Linux
## Paid
## Intel® VTune™
## Intel® Vectorization and Threading Advisor
## AQtime Pro, from SmartBear
## GlowCode
## Libraries
## Celero micro-benchmarking library
## Nonius library
## Hayai micro benchmarking library, into article
## Google benchmark library
## Books
## PDF: optimizing C++ - by Agner Fog. FREE
## Optimizing C++, WikiBooks - FREE
## The Software Optimization Cookbook: High Performance Recipes for IA-32 Platforms, 2nd Edition
## Video Game Optimization, Eric Preisz
## Optimized C++: Proven Techniques for Heightened Performance, Kurt Guntheroth
## Power and Performance: Software Analysis and Optimization, Jim Kukunas
## Systems Performance: Enterprise and the Cloud, Brendan Gregg
## Every Computer Performance Book, Bob Wescott
## C++ Concurrency in Action, Second Edition, Anthony Williams
## About
## This list was started by Bartlomiej Filipek (@fenbf). If you like to help please read CONTRIBUTING.md instructions and just make a pull request to this repo.
##
## License
## Creative Commons License
##
## This work is licensed under a Creative Commons Attribution 4.0 International License.
##
## Source: GitHub
##
## Awesome Curated Programming Resources
## Curated Programming Resources
##
## Awesome Modern C++
## A collection of resources on modern C++
##
## Awesome C++
## A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-… stuff.
## C++ Resources
##
## Project Based Learning
## A list of programming tutorials in which learners build an application from scratch. These tutorials are divided into different primary programming languages. Some have intermixed technologies and languages.
## Curated list of project-based tutorials
## TÀI LIỆU
## C) [http://bit.ly/2DaINOn](http://bit.ly/2DaINOn)(NGUỒN: moi nact )
## C++) [http://bit.ly/2OAuNmo](http://bit.ly/2OAuNmo) (NGUỒN: Ngoc Vu)
## Ngoài ra các bạn có thể tìm ở mục tìm kiếm, trong nhóm đã chia sẻ rất nhiều.
##
## #j2team_share
## #RuanyuJian
Nãy thấy 1 bạn chia sẻ kho tiếng anh gì đó. Mà nhiều người vào bị lỗi. Nên tiện chia sẻ cho mọi người Kho TIẾNG ANH link FULL HD K CHE
SIÊU SIÊU SIÊU KHỦNG
10TB (10240 GB) TIẾNG ANH SƯU TẦM
RẤT RẤT KHỦNG
Học xong trình độ tiếng anh của các bạn sẽ từ
ZERO --> HERO
NHANH TAY BẤM VÀO NÀO
Trước đã share trong nhóm, link đã xoá.
link: https://anlink.top/v/84x2032343/
pass: ruanyujian
Ai đem bài đăng chỗ khác VUI LÒNG GHI RÕ NGUỒN
#J2team_share #RuanyuJian
Khóa học làm chatbot facbook messenger trong 1h
Trị giá 9.99$
Link Drive: https://goo.gl/SrKT1p
pass: j2team
#j2team_share
#RuanyuJian
Khóa học UDEMY
The Complete Android P + Java Developer Course™ : 2018
TRỊ GIÁ 11.99$ (Còn 2 ngày)
Dung lượng: 36 GB
link: https://goo.gl/tuQL2B
pass: j2team
#j2team_share
#RuanyuJian