由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教c++数组初始化
相关主题
simple question on C++ initialization list构造函数里的异常处理
C++的"初始化"小结C++构造函数的问题
初始化列表问题刚看完类这一章,有些大小问题,请指教,谢谢
突然想到一个老题,构造函数n多变量初始化boost::unordered一问
c++类未完成初始化,如何引用this?[c++] 关于构造函数的一个小问题
关于构造函数的一道测试题 (转载)问个构造函数的问题
[合集] 关于构造函数还没被劝退C++的都来看看这个吧
为啥gcc找不到类的构造函数?c++里的函数可不可以是virtual+static
相关话题的讨论汇总
话题: 构造函数话题: hash话题: 初始化话题: 函数话题: 无参
进入Programming版参与讨论
1 (共1页)
w***g
发帖数: 5958
1
我需要产生一系列同分布的哈希函数,想存在一个数组里。哈希函数的构造函数接受一
机函数生成器的引用用于产生随机数。这样顺序产生的哈希函数可以各不相同但属
于同

问题是new只能调用无参构造函数; vector允许调用无参或拷贝构造函数。拷贝构造函
数不
行因为产生的对象是完全一样的,而不是独立同分布的。
我目前的做法是定义一个无参构造函数,不干任何事情,再定义一个init方法做真正的
化。vector分配后用一个循环初始化每个元素。但我觉得这种做法不好,因为一开
始生
对象其实并没有真正初始化,如果忘了调用init就会出错。另外同时存在构造
函数和ini
非常混乱。
另一种方法是分配一个指针数组,然后挨个new。用完了挨个delete。感觉比较原始,
得判
断0指针什么的,也很不爽。
重载拷贝构造函数最简单,但是这样就没法保持“拷贝”的语义,也会引起混乱。
不知道有没有什么好的idiom或者现成的library可以用。
P********e
发帖数: 2610
2
看你最后想要什么,hash pnter还是hash object,我比较倾向第二种
区别就是:
vector vh;
vh.push_back(new hash(random));
hash* h1 = new hash[10];
hash** h2 = new hash*[10];

但属

【在 w***g 的大作中提到】
: 我需要产生一系列同分布的哈希函数,想存在一个数组里。哈希函数的构造函数接受一
: 机函数生成器的引用用于产生随机数。这样顺序产生的哈希函数可以各不相同但属
: 于同
: 。
: 问题是new只能调用无参构造函数; vector允许调用无参或拷贝构造函数。拷贝构造函
: 数不
: 行因为产生的对象是完全一样的,而不是独立同分布的。
: 我目前的做法是定义一个无参构造函数,不干任何事情,再定义一个init方法做真正的
: 化。vector分配后用一个循环初始化每个元素。但我觉得这种做法不好,因为一开
: 始生

1 (共1页)
进入Programming版参与讨论
相关主题
c++里的函数可不可以是virtual+staticc++类未完成初始化,如何引用this?
请问static variable init的问题?关于构造函数的一道测试题 (转载)
为啥指针读出的数值十分巨大或者十分小?[合集] 关于构造函数
多文本搜索多个字符串为啥gcc找不到类的构造函数?
simple question on C++ initialization list构造函数里的异常处理
C++的"初始化"小结C++构造函数的问题
初始化列表问题刚看完类这一章,有些大小问题,请指教,谢谢
突然想到一个老题,构造函数n多变量初始化boost::unordered一问
相关话题的讨论汇总
话题: 构造函数话题: hash话题: 初始化话题: 函数话题: 无参