Working hard.
在 C++ 中,指针、const 和数组之间有一些重要的关系。指针和 const 可以用于限定指针的可变性和所指向的值的可变性,而指针可以与数组进行关联,方便对数组进行遍历和操作。 指针和 const 指针可以和 const 修饰符结合,常见的有两种形式: 一种是指针指向的是一个常量 另一种是指针本身是一个常量 (1)指向常量的指针 指针指向的是一个常量,所以只能访问数据,不能通过指针对数据进行修改。不过指针本身是变量,可以指向另外的数据对象。这时应该把 const 加在类型前。 const int a = 10, b = 20; //int* pa = &a; // 错误,类型不匹配 const int* pa = &a; // 正确,pa是指向常量的指针,类型为const int* pa = &b; // pa可以指向另一个常量 int i = 1024; pa = &i; // pa也可以指向变量 *pa = 1000; // 错误,不
字符串我们并不陌生。一串字符连在一起就是一个“字符串”,比如用双引号引起来的“Hello World!”就是一个字符串字面值。 字符串其实就是所谓的“纯文本”,就是各种文字、数字、符号在一起表达的一串信息;所以字符串就是 C++ 中用来表达和处理文本信息的数据类型。 标准库类型 string C++ 的标准库中,提供了一种用来表示字符串的数据类型 string,这种类型能够表示长度可变的字符序列。和 vector 类似,string 类型也定义在命名空间 std 中,使用它必须包含string 头文件。 # include<string> using namespace std; (1)定义和初始化 string C++ 中有很多不同类型的初始化方式,string 也是一个标准库类型,它的初始化与 vector 非常相似。 常用写法: string 变量名 = "字符串值" // 默认初始化 string s1; // 拷贝初始化 string s2 = s1; string s3 = "Hello, World"; // 直接初始化 string
数组尽管很灵活,但使用起来还是很多不方便。为此,C++ 语言定义了扩展的“抽象数据类型”(Abstract Data Type,ADT),放在“标准库”中。 对数组功能进行扩展的一个标准库类型,就是“容器” vector。顾名思义,vector “容纳”着一堆数据对象,其实就是一组类型相同的数据对象的集合。 头文件和命名空间 vector 是标准库的一部分。要想使用 vector,必须在程序中包含 <vector> 头文件,并使用std 命名空间。 # include<vector> using namespace std; 在 vector 头文件中,对 vector 这种类型做了定义;使用 #includ 引入它之后,并指定命名空间 std 之后,我们就可以在代码中直接使用 vector 了。 vector 的基本使用 vector 其实是 C++ 中的一个“类模板”,是用来创建类的“模子”。所以在使用时还必须提供具体的类型信息,也就是说,这个容器中到底要容纳什么类型的数据对象;具体的形式是在 vector 后面跟一个尖括号 <&
需要完成一件小工作时,在本地环境中使用这个函数,可以让工作如此得心应手,它就是 Lambda 函数。Lambda 函数是 Python 中的匿名函数。有些人将它们简称为lambdas,它的语法如下: lambda arguments: expression lambda 关键字可以用来创建一个 lambda 函数,紧跟其后的是参数列表和用冒号分割开的单个表达式。例如: lambda x: 2 * x # 将任何输入的数乘2 lambda x, y: x + y # 计算两个数字的和 本文旨在提供有关如何正确使用 lambda 函数的一些常规准则。 1. 不带返回任何值 我们在 lambda 函数中并没有返回任何内容。这都是因为 lambda 函数只能包含一个表达式。然而,使用 return 关键字会构成不符合规定语法的语句,如下所示: >>> integers = [(3, -3), (2, 3), (5, 1), (-4, 4)] >>> sorted(integers, key=lambda x: x[-1]) [(3,
NumPy支持各种索引和切片操作、数组转置和重塑操作、数组拼接和堆叠操作等。这些功能可以使用户方便地对数据进行处理、计算和分析。 基本操作 ndarray 数组与其他数据序列类似,也可以进行索引、切片和迭代。 1. 索引 一维与列表完全一致,多维时同理,这里直接用示例说明。 除了一些基本的索引操作,ndarray 也支持一些不一样的索引方式。 2. 切片 对 ndarray 进行切片操作与一维数组相同,用索引标记切片的起始和终止位置即可。因为 ndarray 可以是多维数组,在进行切片时,通常需要设定每个维度上的切片位置。 一维与列表完全一致,多维时同理。 所有的切片方式都是开区间(左闭右开)。 import numpy as np # 创建一个 4×6 的二维数组 arr = np.random.randint(0, 100, size=(4, 6)) print('arr=\n', arr) # 截取第 2 行到最后一行,第 2 列到第 4 列构成的 ndarray arr1 = arr[1:, 1:4] print('arr1=\n', arr1)
Justin_Wu
山不让尘,川不辞盈
本网站由 提供CDN加速/云存储服务
鄂ICP备2023005457号 鄂公网安备 42011302000815号
欢迎来自 * · * 的用户