quest04.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 36 行
C
36 行
#include "fail.h"
struct Test {
Test(unsigned val) : value(val) {
printf( "Test(%p,%u)\n", this, value );
if( value > 2 ) _fail;
}
Test(const Test& other) {
value = other.value;
if( value > 2 ) _fail;
printf( "Test(%p,%p,%u)\n", this, &other, value );
}
~Test() {
if( value > 2 ) _fail;
printf( "~Test(%p,%u)\n", this, value );
}
unsigned value;
};
void zap() {
char buff[100];
memset( buff, -3, sizeof(buff) );
}
void foo( int b ) {
Test a(1);
Test const & test = b ? a : Test(2);
}
int main() {
zap();
foo( 0 );
zap();
foo( 1 );
_PASS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?