C++ STL库应用汇总

所属分类: 软件编程 / C 语言 阅读数: 59
收藏 0 赞 0 分享

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库应用集合的资料请关注脚本之家其它相关文章!

更多精彩内容其他人还在看

C语言数组入门之数组的声明与二维数组的模拟

这篇文章主要介绍了C语言数组入门之数组的声明与二维数组的模拟,数组学习的同时也要相应理解C语言指针的作用,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言中变量与其内存地址对应的入门知识简单讲解

这篇文章主要介绍了C语言中变量与其内存地址对应的入门知识简单讲解,同时这也是掌握指针部分知识的基础,需要的朋友可以参考下
收藏 0 赞 0 分享

讲解C语言编程中指针赋值的入门实例

这篇文章主要介绍了讲解C语言编程中指针赋值的入门实例,通过const int i与int *const pi这样两个例子来分析指针的赋值和地址指向,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言中的结构体的入门学习教程

这篇文章主要介绍了C语言中的结构体的入门学习教程,以struct语句定义的结构体是C语言编程中的重要基础,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言编程入门之程序头文件的简要解析

这篇文章主要介绍了C语言编程入门之程序头文件的简要解析,包括头文件重复包含问题等方面的说明,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言编程中的联合体union入门学习教程

这篇文章主要介绍了C语言编程中的联合体union入门学习教程,也是C语言入门学习中的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言中数组作为函数的参数以及返回值的使用简单入门

这篇文章主要介绍了C语言中数组作为函数的参数以及返回值的使用简单入门,这里以一维数组作为基本条件进行例子讲解,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL的内存表的基础学习教程

这篇文章主要介绍了MySQL的内存表的基础学习教程,包括内存表的创建以及使用限制等等,需要的朋友可以参考下
收藏 0 赞 0 分享

C++中头文件的概念与基本编写方法

这篇文章主要介绍了C++中头文件的概念与基本编写方法,是C++入门学习中的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery移动页面开发中主题按钮的设计示例

这篇文章主要介绍了jQuery移动页面开发中主题按钮的设计示例,jQuery是当今最具人气的JavaScript开发类库,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多