C++:元素和值这两个术语的意思是一样的吗

C++: Does the terms element and value mean the same thing?

本文关键字:术语 意思是 一样 两个 元素 C++      更新时间:2023-10-16

很多时候,我看到术语元素被用于描述C++函数和数据结构。

这些术语的意思是一样的,还是元素的抽象概念?

特别地,http://www.cplusplus.com使用这两个术语。

谢谢。

对我来说,这些术语是不可互换的,但有时可以表示类似的东西。

举个例子:

 std::vector<int> v = { 1, 3, 42 };

这个矢量有3个元素。每个元素都有一个值,第三个元素的值是42。但向量也包含三个值[注意"包含"answers"不包含"之间的区别]。

在我的词汇表中,一个值是"此时此刻的内容"。

如果我这样做:

 v[2] += 6; 

那么第三个元素仍然是与以前相同的第三个元件,但它的值现在是48,而以前是42。因此,元素保持不变,值发生变化。

当然,元素的"值"可以是指针(std::vector<int*>),然后它也指向一个值[或没有任何值的NULL]。引用也有一个引用和引用中的值。

术语'element'在标准文本中出现了1100次,似乎用于各种各样的概念,具体取决于文本的上下文。

更正式地说,在标准库中,类型element_type指的是通过取消引用类似指针的对象(shared_ptr、unique_ptr、std::pointer_traits<>等)而产生的类型。

例如:

using ptr_type = std::shared_ptr<int>;
using pointee_type = ptr_type::element_type;
static_assert(std::is_same<pointee_type, int>::value, "");

类型value_type是指存储在容器中的值。

注意,地图的value_typestd::pair<const key_type, mapped_type>

并且在一个集合中value_type是与key_type相同的类型。