1
5
不需要按值传递数组。要改变数组中的值,需要两个版本的
原则上没有理由不使用
看看您的示例代码,它对存储策略进行了测试。不要这样做。要么使用OO并让存储对象实现一个公共的虚拟接口,要么(可能更好)使用模板编程来改变存储机制。
如果你看一下
|
2
2
你想要的是可能的,但是由于你也需要写访问,结果有时会更复杂一些。您需要的是setter函数返回的不是直接的“点写入访问”,而是一个临时副本,一旦副本超出范围,它将进行写入。 以下代码片段试图概述解决方案:
它不像你希望的那样好,但是恐怕你不能在C++中得到更好的解决方案。 |
3
1
要完全控制数组上的操作,operator[]应该返回一个特殊的对象(很久以前发明的,称为“cursor”),它将为您处理操作。 举个例子:
|
4
0
在阅读了以上答案之后,我决定皮特的答案有两种版本
主数据存储在
为老的MFC外观和感觉向所有的STL粉丝道歉;项目的其余部分是MFC,因此在本例中它更有意义。cbigaray是 related stack overflow question 这成为我处理大型阵列的基础。我希望今天完成实现,明天测试。如果这一切都砸在我身上,我会相应地编辑这篇文章。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |