Algorithm Parameters
STL algorithms such as std::sort are designed to accept callable parameters, which means you can pass lambdas or function objects to customize their behavior. This feature allows you to define exactly how elements should be compared, transformed, or filtered during algorithm execution. By providing a lambda, you can write concise, inline logic that is tailored to your specific task, without the need to define separate functions or classes. This leads to more expressive, maintainable, and flexible code, as you can adjust algorithm behavior directly at the call site.
main.cpp
12345678910111213141516171819202122#include <algorithm> #include <iostream> #include <vector> #include <string> int main() { std::vector<std::string> names = {"Alice", "Bob", "Charlie", "David"}; // Sort names by length using a lambda as a custom comparator std::sort(names.begin(), names.end(), [](const std::string& a, const std::string& b) { return a.size() < b.size(); } ); for (const auto& name : names) { std::cout << name << " "; } std::cout << std::endl; return 0; }
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Fantastiskt!
Completion betyg förbättrat till 4.55
Algorithm Parameters
Svep för att visa menyn
STL algorithms such as std::sort are designed to accept callable parameters, which means you can pass lambdas or function objects to customize their behavior. This feature allows you to define exactly how elements should be compared, transformed, or filtered during algorithm execution. By providing a lambda, you can write concise, inline logic that is tailored to your specific task, without the need to define separate functions or classes. This leads to more expressive, maintainable, and flexible code, as you can adjust algorithm behavior directly at the call site.
main.cpp
12345678910111213141516171819202122#include <algorithm> #include <iostream> #include <vector> #include <string> int main() { std::vector<std::string> names = {"Alice", "Bob", "Charlie", "David"}; // Sort names by length using a lambda as a custom comparator std::sort(names.begin(), names.end(), [](const std::string& a, const std::string& b) { return a.size() < b.size(); } ); for (const auto& name : names) { std::cout << name << " "; } std::cout << std::endl; return 0; }
Tack för dina kommentarer!