例如:
int a = 12;
cout << typeof(a) << endl;
Run Code Online (Sandbox Code Playgroud)
预期产量:
int
Run Code Online (Sandbox Code Playgroud) 我的库以字符串的形式从消息总线获取信息.这些字符串是需要处理的不同类型实体的标识符.
Currenly方法可能如下所示:
void doWork(const std::string& carModelId,
const std::string& dealershipId,
const std::string& invoiceId);
float getPrice(const std::string& carModelId,
const std::string& dealershipId);
Run Code Online (Sandbox Code Playgroud)
由于这些不同类型的ID遍布各处,我想确保将正确类型的id传递给方法,而不是使用普通字符串.
我目前的想法是创建一些包裹这些字符串的结构
struct carModel
{
std::string id;
}
Run Code Online (Sandbox Code Playgroud)
这样这些方法只接受正确的id类型
void doWork(const carModel& carModelId,
const dealership& dealershipId,
const invoice& invoiceId);
Run Code Online (Sandbox Code Playgroud)
另一方面,对于常见问题,这似乎是许多额外的样板代码.
问题:获取字符串参数的类型安全性的最佳实践是什么?