C++ STL库应用汇总

 更新时间:2020年03月05日 11:00:56   作者:檀木  
在本篇文章里小编给大家整理的是关于C++ STL库应用集合,有需要的朋友们可以参考下。

1、std::max_element的使用

std::min_element类似,求最小

#include <iostream>
#include <iterator>
#include <QApplication>
bool myfn( int i, int j )
{
 return i < j;
}

int main( int argc, char* argv[] )
{
 QApplication a( argc, argv );
 std::list<int> zx {1, 2, 3, 8, 5, 44};

 //方法一 调用函数
 auto biggest = std::max_element( std::begin( zx ), std::end( zx ), myfn );
 std::cout << "Max element is " << *biggest
      << " at position " << std::distance( std::begin( zx ), biggest ) << std::endl;
 //方法二 调用Lamda表达式
 auto nn = std::max_element( std::begin( zx ), std::end( zx ), []( int& i, int& j ) -> bool
 {
  return i < j;
 } );
 std::cout << "Max element is " << *nn
      << " at position " << std::distance( std::begin( zx ), biggest ) << std::endl;
 return a.exec();
}

升级可以用到任务队列管理中,通过任务优先级,选择优先级最高的任务

auto max_pos =
   std::max_element( m_taskList.cbegin(), m_taskList.cend(),
            []( const TaskManagePtr & task1, const TaskManagePtr & task2 ) -> bool
  {
   return task1->priority() < task2->priority();
  } );

知识点扩展:

C++ 的标准模板库(Standard Template Library,STL)是泛型程序设计最成功应用的实例。STL 是一些常用数据结构(如链表、可变长数组、排序二叉树)和算法(如排序、查找)的模板的集合,主要由 Alex Stepanov 主持开发,于 1998 年被加入 C++ 标准。

有了 STL,程序员就不必编写大多数常用的数据结构和算法。而且 STL 是经过精心设计的,运行效率很高,比水平一般的程序员编写的同类代码速度更快。

有一种说法,C++ 是用来编写大程序的,如果只是编写几十上百行的小程序,用C语言就可以,没有必要用 C++。

这个说法是不准确的。可以说,写小程序没必要用面向对象的方法,但是用 C++ 还是能够带来很大方便的,因为 C++ 中有 STL。哪怕编写只有十几行的程序,也可能会用到 STL 中提供的数据结构和算法。例如对数组排序,用 STL 中的 sort 算法往往只需要一条语句就能解决,而不用像调用C语言库函数 qsort 那样还要编写比较函数。

以上就是C++ STL库应用汇总的详细内容,更多关于C++ STL库应用集合的资料请关注脚本之家其它相关文章!

相关文章

  • EasyX实现自由落体小球

    EasyX实现自由落体小球

    这篇文章主要为大家详细介绍了EasyX实现自由落体小球,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C语言递归实现扫雷游戏

    C语言递归实现扫雷游戏

    这篇文章主要为大家详细介绍了C语言递归实现扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • C++ qt 使用jsoncpp json 读写操作

    C++ qt 使用jsoncpp json 读写操作

    JsonCpp是一个基于C++语言的开源库,用于C++程序的Json数据的读写操作,本文重点给大家介绍C++ qt 使用jsoncpp json 读写操作,感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • C指针原理教程之C内嵌汇编

    C指针原理教程之C内嵌汇编

    在学习 C 语言内嵌汇编的实验过程中,发现内嵌汇编极容易造成段错误。
    2019-02-02
  • 模拟实现C语言中的内存管理

    模拟实现C语言中的内存管理

    这篇文章主要内容是模拟C语言中的内存管理,需要的朋友可以参考下
    2015-07-07
  • 千万不要被阶乘吓倒

    千万不要被阶乘吓倒

    本篇文章是对阶乘进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++智能指针之shared_ptr详解

    C++智能指针之shared_ptr详解

    这篇文章主要为大家详细介绍了C++智能指针之shared_ptr,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • C语言static修饰函数详细解析

    C语言static修饰函数详细解析

    以下是对C语言中的static修饰函数进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • 用C语言实现通讯录

    用C语言实现通讯录

    这篇文章主要为大家详细介绍了用C语言实现通讯录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • c语言中回调函数的使用以及实际作用详析

    c语言中回调函数的使用以及实际作用详析

    回调函数就是一个通过函数指针调用的函数,如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数,这篇文章主要给大家介绍了关于c语言中回调函数的使用以及实际作用的相关资料,需要的朋友可以参考下
    2021-07-07

最新评论