class FileParser { FileParser(char*) //какие либо бинарные данные в вашем виде, тип не важен. bool isValid() const noexcept; static FileParser file(const std::string& fName); }
FileParser parser = FileParser::file("MyFavorFile"); if (hasError()) cout << parser.errString;
C++ (Qt)template <class T>bool IsNull( const T * a ) { return !a; }
hw = someOperation(d,&e)if (!hw) return;if (hw == someErr) { printErr(sfsfdsfsfd); someOperationFree(e); return;}ещё 57 провероктипа......if (hw == someErr) { printErr(sfsfdsfsfd); someOperationFree(e); return;} Коди в концеsomeOperationFree(e);
int *a;a = malloc(N*sizeof(int)); // Cif (a==NULL) ... // C++a = new int[N]; // Может выброситься исключение. Только так можно поймать... // Приходится оборачиватьtry { a = new int[N];} catch { ...} // Но меня коробит...
C++ (Qt)a = new (std::nothrow) int[N];