假设我有一个模板
template <unsigned int SIZE=512>
structure Sql
{
const char * operator()(const char* format, ...)
{
deal format string here ...
return sql;
}
private:
char sql[SIZE];
}
我有另一个功能:
int dbSelect (const char* sql, void *outdata)
{
use sql to query database here...
}
void main()
{
dbSelect(Sql<>()(“select data from abc where column =%u”,32u),&outdata);
}
使用这样的Sql是安全的吗? Sql&lt;&gt;()会创建一个临时对象,临时对象的生命周期是什么?在dbSelect主体中,临时对象的sql [512]仍然可以访问?访问仍然有效吗?
答案 0 :(得分:3)