Objek fungsi STL dalam C++ menyediakan cara yang cekap dan fleksibel untuk mengendalikan data kontena, termasuk objek fungsi unari (menerima 1 parameter dan mengembalikan hasil), objek fungsi binari (menerima 2 parameter dan mengembalikan hasil) dan Fungsi tiruan (panggilan fungsi terbeban pengendali). Objek fungsi mempunyai kelebihan kebolehgunaan semula, kebolehskalaan dan pengoptimuman prestasi. Dalam kes sebenar, fungsi std::transform() menggunakan objek fungsi std::negate<> Petua termasuk menggunakan objek fungsi sebaris, mencipta ungkapan lambda tersuai, menggunakan objek fungsi sebagai nilai pulangan dan memahami semantik dan had objek fungsi.
Cara menggunakan objek fungsi STL secara berkesan dalam C++
Perpustakaan Templat Standard (STL) menyediakan koleksi objek fungsi yang kaya yang boleh digunakan untuk operasi yang cekap dan fleksibel pada data kontena.
Jenis dan kegunaan objek fungsi
std::negate<>
(penyongsangan). std::negate<>
(取反)。std::plus<>
(加法)。std::greater<>
(比较大小)。使用函数对象的优势
实战案例:使用 std::transform()
Menerima dua parameter dan mengembalikan hasil, seperti std::plus<>
(tambahan).
Fungsi: Pengendali panggilan fungsi yang terlebih beban untuk membuat panggilan kepada mereka, seperti std::greater<>
(bandingkan saiz).
std::transform()
🎜🎜#include <algorithm> #include <iostream> #include <vector> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; // 使用 std::negate<> 对容器中的每个元素取反 std::transform(numbers.begin(), numbers.end(), numbers.begin(), std::negate<>()); // 输出取反后的结果 for (auto number : numbers) { std::cout << number << " "; } return 0; }
-1 -2 -3 -4 -5
Atas ialah kandungan terperinci Bagaimana untuk menggunakan objek fungsi STL dengan berkesan dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!