泛型auto

自动变量,自动获取类型,输出,泛型

自动变量,可以实现自动循环一维数组

自动循环的时候,对应的必须是常量

//auto自动变量,自动匹配类型

 1 #include <iostream>
 2 using namespace std;
 3
 4 void main()
 5 {
 6     //auto自动变量,自动匹配类型
 7
 8     auto num = 10.9;//10.9
 9     auto numA = 10;//10
10     auto numB = 10 / 2.0;//5
11     auto numC = 10.0 / 2;//5
12     auto numD = 10.0 / 2.0;//5
13
14     std::cout << num << " " << numA << " " << numB << " " << numC << " " << numD << std::endl;
15
16     system("pause");
17 }

//auto自动循环begin end 必须是一个数组的常量

for (auto data : num)//泛型C++语法,遍历一维数组的新方法
{
std::cout << data << std::endl;
}

数组名是一个指针常量

 1 #include <iostream>
 2 using namespace std;
 3
 4 void main()
 5 {
 6     int num[10] = { 1,2,3,4,5,6,7,8,9,10 };
 7     double numA[10] = { 1.0,2.0,3.0,4.5,5,6,7,8,9,10 };
 8
 9     for (auto data : num)//泛型C++语法,遍历一维数组的新方法
10     {
11         std::cout << data << std::endl;
12     }
13
14     std::cout << endl;
15
16     for (auto data : numA)
17     {
18         std::cout << data << std::endl;
19     }
20
21     system("pause");
22 }

遍历二维数组,无法实现中间换行操作

 1 #include <iostream>
 2 using namespace std;
 3
 4 void main()
 5 {
 6     int num[2][5] = { 1,2,3,4,5,6,7,8,9,10 };
 7
 8     for (auto data : num)//泛型C++语法,遍历二维数组的新方法
 9     {
10         for (int i = 0; i < 5; i++)
11         {
12             std::cout << *(data + i) << std::endl;
13         }
14     }
15
16     system("pause");
17 }
时间: 2024-10-26 20:48:33

泛型auto的相关文章

【C/C++学院】0813-C与CPP不同以及命名空间简介/函数重载与函数默认参数/泛型auto/Newdelete

C与CPP不同以及命名空间简介 命名空间在软件设计中的作用就是为了实现迭代式开发. 命名空间的别名 #include <iostream> namespace runrunrunrun { int a(10); char *str("gogogo"); namespace run //命名空间的嵌套 { int a(9); } } namespace runrunrunrun //命名空间的拓展 { int y(5); //int a(15);重定义错误 } namespa

深入理解C#泛型

前面两篇文章介绍了C#泛型的基本知识和特性,下面我们看看泛型是怎么工作的,了解一下泛型内部机制. 泛型内部机制 泛型拥有类型参数,通过类型参数可以提供"参数化"的类型,事实上,泛型类型的"类型参数"变成了泛型类型的元数据,"运行时"在需要的时候会利用他们构造恰当的类型,通过这些类型,我们有可以实例化不同类型的对象.也就是说,未绑定泛型类型是以构造泛型类型的蓝图,已构造泛型类型又是实际对象的蓝图. 分析泛型IL代码 下面看一个例子,在这个例子中定义

泛型算法概述

顺序容器只定义了很少的操作:在多数情况下,我们可以添加和删除元素.访问首尾元素.确定容器是否为空以及获得指向首元素或尾元素之后位置的迭代器. 如果我们想要做:查找特定元素.替换或删除一个特定值.重排元素顺序等.标准库并未给每个容器都定义成员函数来实现这些操作,而是定义了一组泛型算法:称它们为“算法”,是因为它们实现了一些经典算法的公共接口,如排序和搜索:称它们是“泛型的”,是因为它们可用于不同类型的元素和多种容器类型(不仅包括标准库类型,如vector或list,还包括内置的数组类型). 概述

CH10 泛型算法

概述 大多数算法都定义在algorithm头文件中. Note:算法永远不会执行容器操作 泛型算法本身不会执行容器的操作,而是通过迭代器来访问.修改等操作 10.1 题目要求读取数据存入vector,并实现用户可以查找的值出现在vector中的次数,所以可以考虑用户查找文件中某个数出现的次数,所以可以考虑文件操作 1 int main(int argc, char* argv[]) 2 { 3 ifstream infile(argv[1]); 4 if (!infile) 5 cerr <<

13. 泛型和枚举

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

c++泛型算法(1)

顺序容器只定义了很少的操作,为了能做其他更多有用的操作:查找特定元素,替换或删除某一特定值,重排元素顺序等.泛型算法是一些经典算法的公共接口 1.概述 大多数算法都定义在头文件algorithm中,标准库还在头文件numeric中定义了一组数值泛型算法. 泛型算法不会执行容器的操作,只会运行于迭代器之上,执行迭代器的操作 .这样就导致算法不能改变容器的大小,也就不能直接添加或删除元素了.因此标准库定义了一种叫插入器的特殊迭代器来完成向容器添加元素的效果. 2.初识泛型算法 标准库提供了超过100

C++ Primer笔记6_STL之泛型算法

1.泛型算法: 大多数算法定义在头文件algorithm中,标准库还在头文件numeric中定义了一组数值泛型算法 只读算法: 举例: find函数用于找出容器中一个特定的值,有三个参数 int val = 10;//val为我们需要查找的值 auto result = find(vec.begin(), vec.end(), val): cout << "The value "<< val << (result == vec.end() ? &qu

Java泛型读书笔记 (二)

关于Java泛型擦除后,继承一个泛型类带来的问题 有如下泛型类Pair: public class Pair<T> { private T second; private T first; public Pair() { first = null; second = null; } public Pair(T first, T second) { this.first = first; this.second =second; } public T getFirst() { return fi

Java泛型读书笔记 (三)

泛型对于老代码的支持 Java的泛型设计成类型擦除的目的,很大一部分是为了兼容老老代码.如下的一段代码: void setLabelTable(Dictionary table) table的类型是非泛型的Dictionary,但是我们可以传入泛型的Dictionary: Dictionary<Integer, Component> labelTable = new Hashtable<>(); labelTable.put(0, new JLabel(new ImageIcon(