Congratulations on considering to write at OpenGenus IQ for C++ language.
This is a small list of topics that you can write about C++ Programming Language.
To become a writer at OpenGenus IQ, check out this guide
For using this task list, check out this guide.
Following is the list of topics:
User defined types
- Constructors (assigned to @Harshita)
- Classes and Objects (assigned to @Robotjelly123)
- Scope (assigned to @Robotjelly123)
- Struct (assigned to @chetali19)
- Namespace (assigned to @Harshita)
- Inheritance (assigned to @Robotjelly123)
- Enumeration (assigned to @Harshita)
- Operator overloading (assigned to @Robotjelly123)
Vectors
- Different ways to initialize a vector (assigned to @verma-ananya)
- Vector::push_back() (assigned to @Kiritsuge-Emiya)
- Vector::pop_back()
- Vector::empty()
- Vector::size()
- Vector::front()
- Vector::back()
- Vector::clear()
- Vector::erase()
- Defining a 2D vector
- Sorting a 2D Vector
- Copy a vector
- Compute index using pointers returned by STL functions
Stack container
- Initialize a stack (assigned to @eashwaranRaghu)
- stack::emplace
- stack::empty
- stack::pop
- stack::push
- stack::size
- stack::swap
- stack::top
List container
- list::front() and list::back()
- list::push_front() and list::push_back()
- list::pop_front() and list::pop_back()
- list::begin() and list::end()
- list::rbegin() and list::rend()
- list::cbegin() and list::cend()
- list::crbegin() and list::crend()
- list::empty()
- list::insert()
- list::erase()
- list::assign()
- list::remove()
- list::reverse()
- list::size()
- list::resize()
- list::sort()
- list::max_size()
- list::unique()
- list::emplace()
- list::emplace_front() and list::emplace_back()
- list::clear()
- list::operator=()
- list::swap()
- list::splice()
- list::merge()
Queue container
- Initialize a queue
- queue::back
- queue::emplace
- queue::empty
- queue::front
- queue::pop
- queue::push
- queue::size
- queue::swap
- relational operators (queue)
- swap (queue)
- uses_allocator
Priority queue container
- Initialize priority_queue
- priority_queue::emplace
- priority_queue::empty
- priority_queue::pop
- priority_queue::push
- priority_queue::size
- priority_queue::swap
- priority_queue::top
- swap (priority_queue)
- uses_allocator<priority_queue>
Dequeue container
- Initialize a dequeue (assigned)
- deque::~deque
- deque::insert()
- deque::at()
- deque::back()
- deque::begin() and deque::end()
- deque::rbegin() and deque::rend()
- deque::cbegin() and deque::cend()
- deque::crbegin() and deque::crend()
- deque::emplace()
- deque::emplace_front()
- deque::emplace_back()
- deque::size()
- deque::max_size()
- deque::reassign()
- deque::empty()
- deque::erase()
- deque::front()
- deque::insert()
- deque::operator=()
- deque::operator
- deque::pop_back() and deque::pop_front()
- deque::push_back() and deque::push_front()
- deque::shrink_to_fit()
- deque::swap()
Array container
- Initialize array
- array::at
- array::back
- array::begin and array::end
- array::cbegin and array::cend
- array::crbegin and array::crend
- array::data
- array::empty
- array::fill
- array::front
- array::max_size
- array::operator[]
- array::rbegin and array::rend
- array::size
- array::swap
Map container
- Initialize map (assigned to @prashant-raghu)
- map::at
- map::begin and map::end
- map::cbegin and map::cend
- map::clear
- map::count
- map::crbegin and map::crend
- map::emplace
- map::emplace_hint
- map::empty
- map::equal_range
- map::erase
- map::find
- map::get_allocator
- map::insert
- map::key_comp
- map::lower_bound
- map::max_size
- map::operator=
- map::operator[]
- map::rbegin and map::rend
- map::size
- map::swap
- map::upper_bound
- map::value_comp
Multimap container
- Initialize multimap
- multimap::begin and multimap::end
- multimap::cbegin and multimap::cend
- multimap::clear
- multimap::count
- multimap::crbegin and multimap::crend
- multimap::emplace
- multimap::emplace_hint
- multimap::empty
- multimap::equal_range
- multimap::erase
- multimap::find
- multimap::get_allocator
- multimap::insert
- multimap::key_comp
- multimap::lower_bound
- multimap::max_size
- multimap::operator=
- multimap::rbegin and multimap::rend
- multimap::size
- multimap::swap
- multimap::upper_bound
- multimap::value_comp
Set container
(all sub-topics in set has been assigned to @Harshita)
- Initialize a set
- set::begin and set::end
- set::cbegin and set::cend
- set::clear
- set::count
- set::crbegin and set::crend
- set::emplace
- set::emplace_hint
- set::empty
- set::equal_range
- set::erase
- set::find
- set::get_allocator
- set::insert
- set::key_comp
- set::lower_bound
- set::max_size
- set::operator=
- set::rbegin and set::rend
- set::size
- set::swap
- set::upper_bound
- set::value_comp
Multiset container
- Initialize multiset
- multiset::begin and multiset::end
- multiset::clear
- multiset::cbegin and multiset::cend
- multiset::count
- multiset::crbegin and multiset::crend
- multiset::emplace
- multiset::emplace_hint
- multiset::empty
- multiset::equal_range
- multiset::erase
- multiset::find
- multiset::get_allocator
- multiset::insert
- multiset::key_comp
- multiset::lower_bound
- multiset::max_size
- multiset::operator=
- multiset::rbegin and multiset::rend
- multiset::size
- multiset::swap
- multiset::upper_bound
- multiset::value_comp
Unordered map container
- Initialize unordered_map
- unordered_map::at
- unordered_map::begin and unordered_map::end
- unordered_map::bucket
- unordered_map::bucket_count
- unordered_map::bucket_size
- unordered_map::cbegin and unordered_map::cend
- unordered_map::clear
- unordered_map::count
- unordered_map::emplace
- unordered_map::emplace_hint
- unordered_map::empty
- unordered_map::equal_range
- unordered_map::erase
- unordered_map::find
- unordered_map::get_allocator
- unordered_map::hash_function
- unordered_map::insert
- unordered_map::key_eq
- unordered_map::load_factor
- unordered_map::max_bucket_count
- unordered_map::max_load_factor
- unordered_map::max_size
- unordered_map::operator=
- unordered_map::operator[]
- unordered_map::rehash
- unordered_map::reserve
- unordered_map::size
- unordered_map::swap
Unordered multimap container
- Initialize unordered multimap
- unordered_multimap::begin and unordered_multimap::end
- unordered_multimap::bucket
- unordered_multimap::bucket_count
- unordered_multimap::bucket_size
- unordered_multimap::cbegin and unordered_multimap::cend
- unordered_multimap::clear
- unordered_multimap::count
- unordered_multimap::emplace
- unordered_multimap::emplace_hint
- unordered_multimap::empty
- unordered_multimap::equal_range
- unordered_multimap::erase
- unordered_multimap::find
- unordered_multimap::get_allocator
- unordered_multimap::hash_function
- unordered_multimap::insert
- unordered_multimap::key_eq
- unordered_multimap::load_factor
- unordered_multimap::max_bucket_count
- unordered_multimap::max_load_factor
- unordered_multimap::max_size
- unordered_multimap::operator=
- unordered_multimap::rehash
- unordered_multimap::reserve
- unordered_multimap::size
- unordered_multimap::swap
Unordered set container
- Initialize unordered_set
- unordered_set::at
- unordered_set::begin and unordered_set::end
- unordered_set::bucket
- unordered_set::bucket_count
- unordered_set::bucket_size
- unordered_set::cbegin and unordered_set::cend
- unordered_set::clear
- unordered_set::count
- unordered_set::emplace
- unordered_set::emplace_hint
- unordered_set::empty
- unordered_set::equal_range
- unordered_set::erase
- unordered_set::find
- unordered_set::get_allocator
- unordered_set::hash_function
- unordered_set::insert
- unordered_set::key_eq
- unordered_set::load_factor
- unordered_set::max_bucket_count
- unordered_set::max_load_factor
- unordered_set::max_size
- unordered_set::operator=
- unordered_set::operator[]
- unordered_set::rehash
- unordered_set::reserve
- unordered_set::size
- unordered_set::swap
Unordered multiset container
- Initialize unordered multiset
- unordered_multiset::begin and unordered_multiset::end
- unordered_multiset::bucket
- unordered_multiset::bucket_count
- unordered_multiset::bucket_size
- unordered_multiset::cbegin and unordered_multiset::cend
- unordered_multiset::clear
- unordered_multiset::count
- unordered_multiset::emplace
- unordered_multiset::emplace_hint
- unordered_multiset::empty
- unordered_multiset::equal_range
- unordered_multiset::erase
- unordered_multiset::find
- unordered_multiset::get_allocator
- unordered_multiset::hash_function
- unordered_multiset::insert
- unordered_multiset::key_eq
- unordered_multiset::load_factor
- unordered_multiset::max_bucket_count
- unordered_multiset::max_load_factor
- unordered_multiset::max_size
- unordered_multiset::operator=
- unordered_multiset::rehash
- unordered_multiset::reserve
- unordered_multiset::size
- unordered_multiset::swap
Variable and Fundamental types
- Variables (assigned to @mqshaikh8)
- Fundamental data types (assigned to @siddharthgusain)
- auto (assigned to @Harshita)
- decltype (assigned to @Harshita)
- Type casting (assigned to @Harshita)
- How to take input in C++? (assigned)
- Output in C++ (assigned to @chetali19)
- Steps in C++ program compilation (assigned)
Flow control
- flow control (assigned to @shreyagupta30)
- If else (assigned to @Harshita)
- while (assigned to @Harshita)
- do while (assigned to @Harshita)
- for loop (assigned to @Harshita)
- switch case (assigned to @Harshita)
Functions
- Functions (done by @Harshita)
- Types of User-defined Functions (assigned to @Robotjelly123)
- Function overloading (assigned to @Harshita)
- Default argument (assigned to @Harshita)
- Storage class (assigned to @shreyarastogi)
Inheritance
- Single inheritance (assigned to @chetali19)
- Multilevel inheritance (assigned to @imskr)
- Hierarchical inheritance (assigned to @Harshita)
- Hybrid inheritance (assigned to @chetali19)
- Multipath inheritance (assigned to @chetali19)
- Multiple inheritance (assigned to @shreyarastogi)
- Function overriding (assigned to @Harshita)
- Friend function (assigned to @shreyagupta30)
- Virtual function (assigned to @Harshita)
- Templates (assigned to @xamfy)
Pointers
- Pointers (assigned to @shreyagupta30)
- Function pointers (assigned to @chetali19)
- Array + Multi-dimensional array (assigned to @tarique)
Memory management
- new (assigned to @Harshita)
- malloc
- calloc
- delete (assigned to @Harshita)
- malloc vs calloc vs realloc (done by @Harshita)
- Static memory management
- Dynamic memory management (assigned to @Jeson)
- Memory leaks in C++ and how to prevent it (assigned to @subhajit)
C++ libraries
- unique_ptr (done by @goxul)
- shared_ptr (assigned)
- weak_ptr (assigned)
- Container (assigned to @Harshita)
- Vector (assigned to @shreyagupta30)
- List (assigned to @aryabharat)
- Set (assigned to @Robotjelly123)
- Map (assigned to @Robotjelly123)
- Multimap (assigned to @Robotjelly123)
- Unordered Map (assigned to @Robotjelly123)
Standard Template Library
- queue (assigned to @r0uxt1)
- priority queue (assigned to @r0uxt1)
- stack (assigned to @piyush26c)
- deque (assigned to @r0uxt1)
- functors (assigned to @Harshita)
- iterators (assigned to @Harshita)
- pair (assigned to @r0uxt1)
- Commonly used utilities
- Standard Template library
Concurrency
- Processes and Fork (assigned to @goxul)
- Zombie process
- Orphan process
- Threads (done by @vineet)
- Synchronization (assigned)
- Concurrency (assigned)
- Locks
- Mutex lock
- Critical section
- Reader writer problem (assigned to @Robotjelly123)
Design patterns in C++
- Observer pattern (assigned to @Harshita)
- Command Pattern
- Singleton Pattern (assigned to @Harshita)
- Builder Pattern (assigned to @Harshita)
- Factory Pattern (assigned to @Harshita)
- Abstract Factory Pattern (assigned to @Harshita)
- Null Object Pattern (assigned to @Harshita)
- Strategy design pattern
- Adapter pattern
- State pattern
- Design pattern classification (assigned to @Harshita)
- Classification:
- Creational
- Structural
- Behavioral
- Concurrency
Others
- Exception handling
- Recursion (done by @Harshita)
- Object slicing
- sort in STL (assigned to @Harshita)
- 2D graphics using SDL2 (assigned to @shivaang12)
- [Add your topic]