const unsigned int omode = cimg::exception_mode();
cimg::exception_mode() = 0;
之前从未见过这种语法。
答案 0 :(得分:7)
异常模式可能正在返回引用,并且它被设置为0.例如:
unsigned int& exception_mode() { return mode; };
所以,第二行相当于:
void set_exception_mode( uint v ) { mode = v; };
顺便说一句,真的很难看!我会尽可能地避免使用这种语法。
答案 1 :(得分:3)
该函数可能会返回对int
的引用。
unsigned int exceptionMode; // Declared somewhere
// ...
unsigned int& cimg::exception_mode() { return exceptionMode; }
// ...
cimg::exception_mode() = 0; // Equivalent to exceptionMode = 0;
这允许返回的任何内容充当 l-value 。在这种情况下,它将引用的int
设置为零。