返回一组数据类型之一的最佳模式
Best pattern for returning one of set of types of data
我有接受字符串并使用正则表达式方法来确定该字符串是否表示浮点数、整数或字符串的方法。
返回结果浮点数、整数或字符串的最佳模式是什么?
所以我的基本方法原型是:
void interpretString(const std::string &s);
取回生成的浮点数、int 或字符串的最佳方法是什么?目前,我扩展了我的方法如下:
enum dataType { None, String, Float, Int };
dataType interpretString(const std::string &s,
string &s,
float &f,
int &i);
其中数据在相应的 s、f 或 i 变量中返回。这似乎不令人满意,因为我正在传递永远不会使用的数据(例如,如果输入字符串是浮点数,则字符串和整数返回值将未使用)
有没有更好的方法?
下面是使用函数对象的另一种方法:
struct Evaluation_Assignment
{
virtual void assign(const std::string& s) = 0;
virtual void assign(int i) = 0;
virtual void assign(double d) = 0;
};
void Interpret_String(const std::string string_to_process,
Evaluation_Assignment& processor)
{
if (interpretation_was_string)
{
processor.assign(s);
}
}
相关文章:
- 防止主数据类型C++的隐式转换
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 在C++中打印指向不同基元数据类型的指针的内存地址
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- 如何计算数据类型的范围,例如int
- C++中数据类型修饰符的顺序
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- 特定数据类型的模板类
- 具有多个模板的模板函数,用于特定数据类型(如字符串)?
- 有没有办法提示用户使用哪种数据类型作为模板 c++
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 时间复杂度 当具有复合数据类型(如元组或对)时?
- 如何获取C++字符数据类型的地址
- 什么是在C 中存储结果INT*的最佳数据类型
- 返回一组数据类型之一的最佳模式
- 使用无符号数据类型强制执行非负值和/或有效值是否是一种最佳做法
- c++中派生类携带不同数据类型的最佳方式
- 在C/C++中存储21.6.7.1等值的最佳数据类型
- 传递多种数据类型的最佳方法
- 在c++函数中传递原始数据类型的最佳实践