如题。thanks

解决方案 »

  1.   

    Thicking in c++ 上面由简单的功能实现,你可以在此基础上进行扩充
      

  2.   

    assert
    Evaluates an expression and when the result is FALSE, prints a diagnostic message and aborts the program.void assert( int expression );Routine Required Header Compatibility 
    assert <assert.h> ANSI, Win 95, Win NT 
    For additional compatibility information, see Compatibility in the Introduction.LibrariesLIBC.LIB Single thread static library, retail version 
    LIBCMT.LIB Multithread static library, retail version 
    MSVCRT.LIB Import library for MSVCRT.DLL, retail version 
    Return ValueNoneParameterexpressionExpression (including pointers) that evaluates to nonzero or 0ResThe ANSI assert macro is typically used to identify logic errors during program development, by implementing the expression argument to evaluate to false only when the program is operating incorrectly. After debugging is complete, assertion checking can be turned off without modifying the source file by defining the identifier NDEBUG. NDEBUG can be defined with a /D command-line option or with a #define directive. If NDEBUG is defined with #define, the directive must appear before ASSERT.H is included.assert prints a diagnostic message when expression evaluates to false (0) and calls abort to terminate program execution. No action is taken if expression is true (nonzero). The diagnostic message includes the failed expression and the name of the source file and line number where the assertion failed.The destination of the diagnostic message depends on the type of application that called the routine. Console applications always receive the message via stderr. In a single- or multithreaded Windows application, assert calls the Windows MessageBox API to create a message box to display the message along with an OK button. When the user chooses OK, the program aborts immediately.When the application is linked with a debug version of the run-time libraries, assert creates a message box with three buttons: Abort, Retry, and Ignore. If the user selects Abort, the program aborts immediately. If the user selects Retry, the debugger is called and the user can debug the program if Just-In-Time (JIT) debugging is enabled. If the user selects Ignore, assert continues with its normal execution: creating the message box with the OK button. Note that choosing Ignore when an error condition exists can result in “undefined behavior.” For more information, see Using C Run-Time Library Debugging Support.The assert routine is available in both the release and debug versions of the C run-time libraries. Two other assertion macros, _ASSERT and _ASSERTE, are also available, but they only evaluate the expressiosn passed to them when the _DEBUG flag has been defined. Example/* ASSERT.C: In this program, the analyze_string function uses
     * the assert function to test several conditions related to
     * string and length. If any of the conditions fails, the program
     * prints a message indicating what caused the failure.
     */#include <stdio.h>
    #include <assert.h>
    #include <string.h>void analyze_string( char *string );   /* Prototype */void main( void )
    {
       char  test1[] = "abc", *test2 = NULL, test3[] = "";   printf ( "Analyzing string '%s'\n", test1 );
       analyze_string( test1 );
       printf ( "Analyzing string '%s'\n", test2 );
       analyze_string( test2 );
       printf ( "Analyzing string '%s'\n", test3 );
       analyze_string( test3 );
    }/* Tests a string to see if it is NULL, */ 
    /*   empty, or longer than 0 characters */
    void analyze_string( char * string )
    {
       assert( string != NULL );        /* Cannot be NULL */
       assert( *string != '\0' );       /* Cannot be empty */
       assert( strlen( string ) > 2 );  /* Length must exceed 2 */
    }
    OutputAnalyzing string 'abc'
    Analyzing string '(null)'
    Assertion failed: string != NULL, file assert.c, line 24abnormal program termination
    Error Handling Routines |  Process and Environment Control RoutinesSee Also   abort, raise, signal, _ASSERT, _ASSERTE, _DEBUG
      

  3.   

    to iwxg(那一夜我喝醉了酒): 谢谢,可以用assert了。 另外,这个<assert.h>是C++标准库吗?