【发布时间】:2013-02-06 21:33:45
【问题描述】:
例如
bool read(Input &input);
Input input; //error
bool success = read(input);
将是一个错误,因为 Input 没有默认构造函数。
在这种情况下,我可以使用任何技巧将 Input 对象从函数中取出吗?我想一定有一些 unique_ptr 技巧可供我使用,但我不确定具体如何。欢迎提出其他方法。
请举例说明读取函数的外观。
我宁愿不为此目的为 Input 创建一个(无意义的)默认构造函数,并注意这只是一个愚蠢的例子,所以不要对“Input”、“read”、等等:)
【问题讨论】:
-
让
read()返回Input和throw失败时的异常? -
为什么不
Input read();? -
因为在我的情况下,返回类型很重要,甚至“false”也不足以成为异常。
-
传递一个指向 Input 的指针
-
使用
Input确实拥有的构造函数。
标签: c++ pointers c++11 unique-ptr