首页 > 编程语言 >C++学习笔记(曾经我看不懂的代码2:基于范围的for循环、auto使用、stl容器、template模板、lambda表达式、结构体继承、仿函数)

C++学习笔记(曾经我看不懂的代码2:基于范围的for循环、auto使用、stl容器、template模板、lambda表达式、结构体继承、仿函数)

时间:2024-09-09 10:50:52浏览次数:5  
标签:arr 看不懂 stl auto 代码 C++ template 模板

不知不觉c++程序设计:标准库已经看了一大半了,学到了很多,很多曾经在网上和在书上看到却看不懂的代码,在看完标准库中的大半内容以后,都能大致的理清代码的含义。

代码模板一:

for (auto &a:arr) 
1、基于范围的for循环:

a为迭代变量,arr为迭代范围,&表示引用。

写一个例子:

#include<iostream>
using namespace std;
int main() {
    int arr[3]={0,1,2};
    int i;
    for (auto &a:arr) {        //每一个循环创建一个引用
        cout << "a="<< a<<endl;
        cout << "arr地址:"<<&arr[i]<<endl;
        cout << "a的地址:"<<&a<<endl;
        i++;
    }
}

未完待续

原文地址:C++学习笔记(曾经我看不懂的代码2:基于范围的for循环、auto使用、stl容器、template模板、lambda表达式、结构体继承、仿函数)_c++学不明白-CSDN博客

标签:arr,看不懂,stl,auto,代码,C++,template,模板
From: https://www.cnblogs.com/jijm123/p/18404107

相关文章

  • C++ iostream、iomanip 头文件详解
    C++iostream、iomanip头文件详解首先,我们来看看iostream。相信大家都知道iostream,这个库可以说是最常用的几个库之一了。iostream库提供了输入输出流。比如cin、cout,都是在iostream里的。所以,我们经常会用到iostream这个库。iostream这个名字很好理解,InputOutputStream,输......
  • C/C++中extern函数使用详解
    extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定目录一、定义和声明的区别二、extern用法2.1extern函数2.2extern变量2.3在C++文件中调用C方式编译的函数三、通俗讲......
  • C++ 模板进阶知识——stdenable_if
    目录C++模板进阶知识——std::enable_if1.简介和背景基本语法使用场景2.`std::enable_if`的基本用法示例:限制函数模板只接受整数类型3.SFINAE和std::enable_if示例:使用SFINAE进行函数重载SFINAE的优点应用场景4.在类模板中使用std::enable_if示例:根据类型......
  • 南沙信奥赛C++陈老师解一本通题: 1326:【例7.5】 取余运算(mod)
    ​【题目描述】【输入】输入b,p,k的值。【输出】【输入样例】2109【输出样例】2^10mod9=7 #include<iostream>#include<stdlib.h>usingnamespacestd;longlongb,p,k,ans=1;intmain(){ cin>>b>>p>>k; for(inti=1;i<=p;i++) { ans*=b;......
  • [C++ Daily] 确保类复制了所有应该复制的成员
    确保类复制了所有应该复制的成员结果:源代码:#include<iostream>#include<string>#include<vector>/***copy操作应该包含对象内的所有成员变量及所有父类的成员变量,*此种可以通过调用对应的拷贝构造与拷贝赋值操作完成*////@briefsimpleterminalprint......
  • 南沙信奥赛C++陈老师解一本通题: 1171:大整数的因子
    ​ 【题目描述】已知正整数k满足2≤k≤9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。【输入】一个非负整数c,c的位数≤30。【输出】若存在满足 c%k==0的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。【输入样......
  • 【C++学习笔记】数组与指针(三)
    目录一、数组1.1数组声明与赋值1.2数组的特点特点1:任意类型均可创建数组特点2:固定大小特点3:内存连续且有序特点4:C++无数组下标越界错误特点5:数组变量不记录数据1.3遍历数组普通for循环foreach增强循环1.4字符数组1.5多维数组二维数组三维数组遍历二维数......
  • 【C++学习笔记】逻辑判断语句与循环语句(二)
    目录一、逻辑判断语句1.1ifelse语句1.2 switch语句1.3枚举类型二、循环语句2.1while循环2.2dowhile循环2.3for循环2.4break与continue关键字2.5goto语句一、逻辑判断语句1.1ifelse语句#include"iostream"usingnamespacestd;intmain(){......
  • 【C++】list(下)
    个人主页~list(上)~list四、模拟实现1、list.h(1)关于整个list的搭建①节点②迭代器③接口(2)自定义类型实例化2、test.cpp(1)test1(2)test2五、额外小知识四、模拟实现1、list.h#pragmaonce#include<iostream>namespacelittle_monster{ template<classT> ......
  • c++的初始化列表与const成员
    初始化列表与const成员const成员使用const修饰的类、结构、联合的成员变量,在类对象创建完成前一定要初始化。不能在构造函数中初始化const成员,因为执行构造函数时,类对象已经创建完成,只有类对象创建完成才能调用成员函数,构造函数虽然特殊但也是成员函数。在定义const成员时......