C++:元素和值这两个术语的意思是一样的吗
C++: Does the terms element and value mean the same thing?
很多时候,我看到术语值和元素被用于描述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_type
是std::pair<const key_type, mapped_type>
并且在一个集合中value_type
是与key_type
相同的类型。
相关文章:
- 错误:无效的预处理指令 #i 的意思是 #if?
- Trie*& 和 Trie** 的意思是 Same?
- 错误:无法解析对重载函数的引用;你的意思是调用它吗?
- 什么而(!cin >> x)) 意思是?
- 双打的意思是分加?
- 英特尔SGX错误:8207错误是什么意思是当我无法正确加载飞地时
- C 语法“ a :: b:a {};”意思是
- 当我们说在执行程序时将操作系统的控制权传递给main()函数时,我们的意思是什么
- 为什么这段代码有效?我的意思是会员是私人的
- 为什么这段代码不能正常工作???我的意思是,为什么当我运行它时它没有显示任何内容?
- 字符串数组[] = " " 是什么;意思是,为什么它有效?
- 将派生类对象分配给基类对象时会发生什么(我的意思是对象断言,而不是指针)
- 线x=是什么!你的意思是
- C++:元素和值这两个术语的意思是一样的吗
- 有人能解释一下他们的意思是list.pushback文档(不会使迭代器无效)吗
- 这句话在c++中的意思是什么
- 这两个如果语句的意思是一样的吗?
- 它的意思是宏中的#值
- 停顿的problem的意思是程序无法检查其他程序
- 这个typedef的意思是什么