我想在遇到某些错误代码时让构造函数中止对象构造(例如,如果遇到以下情况):
CudaObj::CudaObj(InsertionSim *theSim)
{
// Setup
if(cublasInit() == CUBLAS_STATUS_NOT_INITIALIZED) {
printf("CUBLAS init error.\n");
return -1; // abort here rather than return a value
}
...
}
Run Code Online (Sandbox Code Playgroud)
完成此任务最简单的方法是什么?是异常处理吗?
Ara*_*raK 16
我认为惯用的方法是从构造函数中抛出异常以强调对象不处于有效状态.