容器:用empty来代替检查size()是否为0

news/2024/7/7 15:18:54

对于任意容器c,写下

if (c.size() == 0)...
本质上等价于写下

if (c.empty())...


这就是例子。你可能会奇怪为什么一个构造会比另一个好,特别是事实上empty的典型实现是一个返回size是否返回0的内联函数。


你应该首选empty的构造,而且理由很简单:对于所有的标准容器,empty是一个常数时间的操作,但对于一些list实现,size花费线性时间。

http://www.niftyadmin.cn/n/3585846.html

相关文章

nginx 代理 负载均衡 网站转接的用法

反向代理 1,准备两台nginx真实服务器 a、nginx-1 启动网站(内容)(作为网站服务器) b、nginx-2 启动代理程序 一、编辑nginx-2的配置文件 [rootnginx-server ~]# vim /etc/nginx/conf.d/default.conf server {server {listen 80; ser…

LNMP+zabbix监控平台搭建

前言 由于某个项目需要新搭建zabbix监控平台。于是就抽时间总结了zabbix搭建的流程及排错的详细流程。由于每个人的生产环境的差异,本文适用于参考。 实际上,使用yum安装配置LAMPzabbix更加的方便,快捷。但是,为了便于管理&#…

PHP生成图像验证码的方法小结(2种方法)

本文实例讲述了PHP生成图像验证码的方法。分享给大家供大家参考,具体如下: 1、生成加法运算验证码图片 ?123456789101112131415161718192021222324252627282930session_start ();/*定义头文件为图片*/header("Content-type: image/png");/*生…

尽量使用区间成员函数代替它们的单元素兄弟

尽量使用区间成员函数来代替单元素兄弟的三个可靠的论点: 1、区间成员函数更容易写, 2、它们更清楚地表达你的意图, 3、而且它们提供了更高的性能。 快!给定两个vector,v1和v2,使v1的内容和v2的后半部分…

源码安装软件参数查询

前言 下面总结的是对部分已源码安装的软件,查看其编译参数的方法。 常用于软件升级或安装扩展模块 【1】Nginx 编译参数查询 命令: /apk/install/nginx/sbin/nginx -V注意:nginx命令位置取决于nginx的安装目录 nginx version: nginx/1.17.1 …

linux提示Warning: imagettftext(): Could not find/open font错误

在php中imagettftext — 用 TrueType 字体向图像写入文本了,在其它版本中没有问题唯独在linux中使用imagettftext时出现imagettftext(): Could not find/open font错误了,具体我们来看解决办法。(PHP 4, PHP 5, PHP 7) imagettftext — 用 TrueType 字体…

xtrabackup备份失败问题解决

前言 下面总结的是部分常见的报错及解决方法。 常见报错及解决 【1】使用的xtrabackup安装失败或软件版本与系统不适配 报错如下: 解决方法: 通常是xtrabackup未安装成功或未配置环境变量,建议重新安装。 同时还要注意安装方式和不同软件包适…

包含指针的容器delete方式

如何正确处理包含指针的容器是值得探究的。 一、常见的方式&#xff0c;直接手动delete void doSomething() { vector<Widget*> vwp; for (int i 0; i < SOME_MAGIC_NUMBER; i) vwp.push_back(new Widget); ... f…