Cheatography
https://cheatography.com
Iterator for loop
for(std::vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
it->doSomething();
}
|
Lambda
[captures] (parameters) mutable -> return-type {body}
[] = argument att fånga (behandlas som globala variabler).
() = normala funktionsargument.
-> return-type = datatyp att returnera.
mutable = lägg till om du vill ändra på något. Non-const function.
{} = function goes here.
Lambda går att skriva helt utan (), -> return-type och mutable.
|
Felhantering
try {
foo() //foo kastar ett error med throw(“Feltext”) någonstans i koden
}
catch(exception& e)
{
std::cout << e.what() << std::endl; // blir “Feltext”
}
|
for_each loop med lambda
vector<int> v;
int sum{0};
for_each(v.begin(), v.end(), &sum -> void {
sum += x;
});
|
Läsa från fil med ifstream
ifstream file(“/some/path”)
string line;
vector<string> file_content;
while (getline(file, line)) {
file_content.push_back(line);
}
|
|
|
Range-based for loop
vector<int> v;
for(int i : v) { // i = förväntad datatyp
//doSomething
}
|
Hitta saker med egen jämförelse
find_if (InputIt first, InputIt last, UnaryPredicate boolFunction) //returns iterator to element if found, otherwise returns last
find_if_not() finns också.
|
Kommandoradsargument med validering
int main(int argc, char* argv[ ]) { // plocka ut argument.
vector<string> arg(argv, argv + argc);
int num_of_iterations;
istringstream arg(arg.at(1));
if(!(arg >> num_of_iterations)) //om arg inte kan göras till int så kastas logic_error {
throw logic_error("Error meddelande");
}
}
|
Huvudklass till subklass (Employee ← Boss)
Boss b = dynamic_cast<Boss>(employee);
if (b != nullptr) {
std::cout << b -> get_bonus
}
|
Konstruktorer/tilldelning
Ptr(Ptr const& rhs); //kopieringskostruktor
Ptr& operator = (Ptr const& rhs); //kopieringstilldelning
Ptr(Ptr && this) //flyttkonstruktor
Ptr& operator = (Ptr && rhs(?)) //flytt tilldelning
|
Slumpa tal
#include <random>
std::random_device rnd;
std::uniform_int_distribution<int> num(1,100); // tal mellan 1-100
std::cout << num(rnd) << std::endl;
|
|
Created By
Metadata
Favourited By
Comments
No comments yet. Add yours below!
Add a Comment
More Cheat Sheets by Dockson