首页 > 编程语言 >编写高效C++代码的一些方法

编写高效C++代码的一些方法

时间:2023-03-29 20:22:35浏览次数:31  
标签:std 初始化 高效 auto C++ 列表 编译器 编写

1.使用基于range的for循环

这是 C++11 中非常酷的特性,如果你想从头到尾迭代,这是最好的方法。

using namespace std;
int main()
{
    vector<int> vec = {0, 1, 2, 3, 4};
    for (const auto &value : vec)
        cout << value << ' ';
    cout << '\n';
    int array[]= {1, 2, 3, 4, 5};
    for (const auto &value: array)
        cout << value << " ";
}

输出:

0 1 2 3 4
1 2 3 4 5

 

2.初始化列表

此类型用于访问C++初始化列表中的值。这里,这种类型的对象是由编译器根据初始化列表声明自动构建的,初始化列表声明是一个用逗号分隔的元素列表,用大括号括起来。

template<typename T>
void printList(std::initializer_list<T> text)
{
    for (const auto& value : text)
        std::cout << value << " ";
}

int main()
{
    // Initialization list
    printList({ "One", "Two", "Three" });
    return 0;
}

输出:

One Two Three

 

3. 使用#include <bits/stdc++.h>

这个头文件包含了很多需要的头文件。

4.使用auto

使用auto使编译器自动推断类型。

 

标签:std,初始化,高效,auto,C++,列表,编译器,编写
From: https://www.cnblogs.com/errorman/p/17270183.html

相关文章

  • C++ ndk编译器及编译脚本
    Gccg++clang编译器的区别GCC、G++和Clang都是常用的编译器,它们有以下区别:编译器的实现:GCC是GNUCompilerCollection的缩写,是由GNU项目开发的一款自由软件,G++是GCC......
  • 75.c++运算符优先级
    优先级运算符结合律助记1::从左至右作用域2a++、a--、type()、type{}、a()、a[]、.、->从左至右后缀自增减、函数风格转型、函数调用、下标、成员......
  • C++标准库中的std::nth_leement
    std中的nth_element默认求的是数组中第n小的元素可以通过参数传入,求第n大的元素示例代码#include<algorithm>#include<iostream>#include<vector>usingna......
  • Go语言:编写一个 WebsiteRacer 的函数,用来对比请求两个 URL 来「比赛」,并返回先响应的
    问题:你被要求编写一个叫做WebsiteRacer的函数,用来对比请求两个URL来「比赛」,并返回先响应的URL。如果两个URL在10秒内都未返回结果,那么应该返回一个error。......
  • C++11 笔记
    1、可以利用C++11friend友元新特性创建可靠的测试版本。 2、移动语义 移动构造函数 ----  https://blog.csdn.net/u011852872/article/details/127076918......
  • 不坑盒子 V2023.0325 && 打工人插件 大众实用型办公高效利器。
    不坑盒子这是一个非常好用的插件工具,专门应用在Word文档和wps,支持Office2010以上的版本,操作也简单且实用。不坑盒子下载及使用说明 一键排版功能像是下面的自动排版......
  • C++编程语言中赋值运算符重载函数(operator=)介绍
    参考资料:C++编程语言中赋值运算符重载函数(operator=)介绍_operator==_liitdar的博客-CSDN博客本文主要介绍C++编程语言中赋值运算符重载函数(operator=)的相关知识,同时通......
  • Effective C++笔记
    EffectiveC++ThirdEdition改善程序与设计的55个具体做法导读除非有理由允许构造函数被用于隐式类型转换,否则‘我’会把它声明为explicit(阻止隐式类型转换)classtmp{......
  • L2-001-紧急救援*C++(使用Dijkstra算法附带全详细注释)
     L2-001紧急救援分数 25 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每......
  • C++ 树进阶系列之笛卡尔树的两面性
    1.前言笛卡尔树是一种特殊的二叉树数据结构,融合了二叉堆和二叉搜索树两大特性。笛卡尔树可以把数列(组)对象映射成二叉树,便于使用笛卡尔树结构的逻辑求解数列的区间最值或......