C++:创建对象的本地副本
C++: Creating a local copy of an Object
我是一名 objective-C 开发人员,正在为 C++ 代码苦苦挣扎。
下面是我在 C++ 中的代码:
ULConnection *conn;
...... //code that builds up the connection
conn->GetLastError()->GetString(value, 255);
我需要创建 GetLastError()
的本地副本(非引用)。
如何获取本地引用并检查是否为空?
这是我失败的尝试:
ULError error = *conn->GetLastError();
if (&error != NULL){}
根据我的理解,函数 conn->GetLastError()
return 是 ULError
的指针,需要检查 return 指针是否为空。
这对你有用。
const ULError *error = conn->GetLastError();
if (error){}
从 C++11 开始,您可以执行以下操作,而不是与 NULL
进行比较
if( error != nullptr)
假设 GetLastError returns 一个指针
if (conn->GetLastError() != nullptr)
{
ULError error = *(conn->GetLastError());
// use the error
}
我是一名 objective-C 开发人员,正在为 C++ 代码苦苦挣扎。
下面是我在 C++ 中的代码:
ULConnection *conn;
...... //code that builds up the connection
conn->GetLastError()->GetString(value, 255);
我需要创建 GetLastError()
的本地副本(非引用)。
如何获取本地引用并检查是否为空?
这是我失败的尝试:
ULError error = *conn->GetLastError();
if (&error != NULL){}
根据我的理解,函数 conn->GetLastError()
return 是 ULError
的指针,需要检查 return 指针是否为空。
这对你有用。
const ULError *error = conn->GetLastError();
if (error){}
从 C++11 开始,您可以执行以下操作,而不是与 NULL
if( error != nullptr)
假设 GetLastError returns 一个指针
if (conn->GetLastError() != nullptr)
{
ULError error = *(conn->GetLastError());
// use the error
}