Commit 2a291a73 authored by shengnan hu's avatar shengnan hu
Browse files

main

parents
#include <iostream>
using namespace std;
void fun1 ( int p[ 10 ] ) //违背1
{
int i;
for ( i = 0; i < 10; i++ )
{
p[ i ] = p[ i ] + 1;
}
}
void fun2 ( int *p ) //违背2
{
int i;
for ( i = 0; i < 10; i++ )
{
p[ i ] = p[ i ] + 1;
}
}
int main ( void )
{
int a[ 10 ] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
fun1 ( a );
fun2 ( a );
return ( 0 );
}
#include <iostream>
using namespace std;
void fun ( int ( &p ) [ 10 ] ) //遵循1
{
int i;
for ( i = 0; i < 10; i++ )
{
p[ i ] = p[ i ] + 1;
}
}
int main ( void )
{
int a[ 10 ] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
fun ( a );
return ( 0 );
}
#include <iostream>
using namespace std;
class A
{
public:
A ( int n_, int *b_ );
A ( const A &ca );
A ( void );
~A ( void );
operator = ( const A &ca );
int *get_b ( void ) const;
private:
int n;
int *b;
};
A::A ( int n_, int *b_ )
{
n = n_;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = b_[ i ];
}
}
A::A ( const A &ca )
{
n = ca.n;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = ca.b[ i ];
}
}
A::operator = ( const A &ca )
{
n = ca.n;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = ca.b[ i ];
}
}
A::A ( void ) : b ( new int[ 0 ] ), n ( 1 )
{
b[ 0 ] = 0;
}
A::~A ( void )
{
delete[ ] b;
b = NULL;
}
int *A::get_b ( void ) const //违背1
{
return b;
}
int main ( void )
{
int i = 0;
int b[ 2 ] = { 1, 2 };
A const a ( 2, b );
a.get_b ( ) [ 0 ] = i;
return ( 0 );
}
#include <iostream>
using namespace std;
class A
{
public:
A ( int n_, int *b_ );
A ( const A &ca );
A ( void );
~A ( void );
operator = ( const A &ca );
const int *get_b ( void ) const;
private:
int n;
int *b;
};
A::A ( int n_, int *b_ )
{
n = n_;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = b_[ i ];
}
}
A::A ( const A &ca )
{
n = ca.n;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = ca.b[ i ];
}
}
A::operator = ( const A &ca )
{
n = ca.n;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = ca.b[ i ];
}
}
A::A ( void ) : b ( new int[ 0 ] ), n ( 1 )
{
b[ 0 ] = 0;
}
A::~A ( void )
{
delete[ ] b;
b = NULL;
}
const int *A::get_b ( void ) const //遵循1
{
return b;
}
int main ( void )
{
int i = 0;
int b[ 2 ] = { 1, 2 };
A const a ( 2, b );
i = a.get_b ( ) [ 0 ];
return ( 0 );
}
#include <iostream>
using namespace std;
class A
{
public:
A ( int n_, int *b_ );
A ( const A &ca );
A ( void );
~A ( void );
operator = ( const A &ca );
int &get_n ( void );
private:
int n;
int *b;
};
A::A ( int n_, int *b_ )
{
n = n_;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = b_[ i ];
}
}
A::A ( const A &ca )
{
n = ca.n;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = ca.b[ i ];
}
}
A::operator = ( const A &ca )
{
n = ca.n;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = ca.b[ i ];
}
}
A::A ( void ) : b ( new int[ 0 ] ), n ( 1 )
{
b[ 0 ] = 0;
}
A::~A ( void )
{
delete[ ] b;
b = NULL;
}
int &A::get_n ( void ) //违背1
{
return n;
}
int main ( void )
{
int b[ 2 ] = { 1, 2 };
A a ( 2, b );
int &n = a.get_n ( );
n = 10;
return ( 0 );
}
#include <iostream>
using namespace std;
class A
{
public:
A ( int n_, int *b_ );
A ( const A &ca );
A ( void );
~A ( void );
operator = ( const A &ca );
int get_n ( void );
private:
int n;
int *b;
};
A::A ( int n_, int *b_ )
{
n = n_;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = b_[ i ];
}
}
A::A ( const A &ca )
{
n = ca.n;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = ca.b[ i ];
}
}
A::operator = ( const A &ca )
{
n = ca.n;
b = new int[ n ];
for ( int i = 0; i < n; i++ )
{
b[ i ] = ca.b[ i ];
}
}
A::A ( void ) : b ( new int[ 0 ] ), n ( 1 )
{
b[ 0 ] = 0;
}
A::~A ( void )
{
delete[ ] b;
b = NULL;
}
int A::get_n ( void ) //遵循1
{
return n;
}
int main ( void )
{
int b[ 2 ] = { 1, 2 };
A a ( 2, b );
int &n = a.get_n ( );
//......
return ( 0 );
}
#include <iostream>
using namespace std;
class Document
{
public:
Document ( void ) : docid ( 0 )
{
}
int get_docid ( void );
private:
int docid;
};
int Document::get_docid ( void )
{
return docid;
}
class Book : public Document
{
public:
Book ( void ) : Document ( ), bookid ( 0 )
{
}
int get_bookid ( void );
private:
int bookid;
};
int Book::get_bookid ( void )
{
return bookid;
}
int main ( void )
{
Book mybook;
try
{
throw mybook;
}
catch ( Document &d ) //违背1
{
cout << d.get_docid ( ) << endl;
}
catch ( Book &b ) //违背2
{
cout << b.get_bookid ( ) << endl;
}
return ( 0 );
}
#include <iostream>
using namespace std;
class Document
{
public:
Document ( void ) : docid ( 0 )
{
}
int get_docid ( void );
private:
int docid;
};
int Document::get_docid ( void )
{
return docid;
}
class Book : public Document
{
public:
Book ( void ) : Document ( ), bookid ( 0 )
{
}
int get_bookid ( void );
private:
int bookid;
};
int Book::get_bookid ( void )
{
return bookid;
}
int main ( void )
{
Book mybook;
try
{
throw mybook;
}
catch ( Book &b ) //遵循1
{
cout << b.get_bookid ( ) << endl;
}
catch ( Document &d ) //遵循2
{
cout << d.get_docid ( ) << endl;
}
return ( 0 );
}
#include <iostream>
using namespace std;
class A1
{
public:
A1 ( void )
{
}
};
class A2
{
public:
A2 ( void )
{
}
};
int main ( void )
{
int i = 0;
//...
try
{
if ( i > 0 )
{
throw A1 ( );
}
else
{
throw A2 ( ); //违背1
}
}
catch ( A1 & )
{
cout << "exception: A1" << endl;
}
return ( 0 );
}
#include <iostream>
using namespace std;
class A1
{
public:
A1 ( void )
{
}
};
class A2
{
public:
A2 ( void )
{
}
};
int main ( void )
{
int i = 0;
//...
try
{
if ( i > 0 )
{
throw A1 ( ); //遵循1
}
else
{
throw A2 ( ); //遵循2
}
}
catch ( A1 & )
{
cout << "exception: A1" << endl;
}
catch ( A2 & )
{
cout << "exception: A2" << endl;
}
return ( 0 );
}
#include <iostream>
using namespace std;
class Document
{
public:
Document ( void ) : docid ( 0 )
{
}
int get_docid ( void );
private:
int docid;
};
int Document::get_docid ( void )
{
return docid;
}
int main ( void )
{
try
{
Document mydoc1;
throw &mydoc1; //违背1
}
catch ( Document *d ) //违背2
{
cout << d->get_docid ( ) << endl;
}
return ( 0 );
}
#include <iostream>
using namespace std;
class Document
{
public:
Document ( void ) : docid ( 0 )
{
}
int get_docid ( void );
private:
int docid;
};
int Document::get_docid ( void )
{
return docid;
}
int main ( void )
{
try
{
Document mydoc1;
throw mydoc1; //遵循1
}
catch ( Document &d ) //遵循2
{
cout << d.get_docid ( ) << endl;
}
return ( 0 );
}
#include <iostream>
using namespace std;
class Document
{
public:
Document ( void ) : docid ( 0 )
{
}
int get_docid ( void );
private:
int docid;
};
int Document::get_docid ( void )
{
return docid;
}
int main ( void )
{
try
{
Document mydoc1;
throw mydoc1;
}
catch ( ... ) //违背1
{
cout << "缺省捕获" << endl;
}
catch ( Document &d )
{
cout << d.get_docid ( ) << endl;
}
return ( 0 );
}
#include <iostream>
using namespace std;
class Document
{
public:
Document ( void ) : docid ( 0 )
{
}
int get_docid ( void );
private:
int docid;
};
int Document::get_docid ( void )
{
return docid;
}
int main ( void )
{
try
{
Document mydoc1;
throw mydoc1;
}
catch ( Document &d )
{
cout << d.get_docid ( ) << endl;
}
catch ( ... ) //遵循1
{
cout << "缺省捕获" << endl;
}
return ( 0 );
}
#include <iostream>
using namespace std;
int main ( void )
{
try
{
throw NULL; //违背1
}
catch ( int )
{
//...
}
catch ( const char * )
{
//...
}
return ( 0 );
}
#include <iostream>
using namespace std;
int main ( void )
{
char *p = NULL;
try
{
throw ( p ); //遵循1
throw ( static_cast < const char * > ( NULL ) ); //遵循2
}
catch ( int )
{
//...
}
catch ( const char * )
{
//...
}
return ( 0 );
}
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#ifndef FILE_H
/* Non-compliant - does not #define FILE_H */
#endif
/* ------------------ Example code from MISRA C:2012 end ------------------ */
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
void f1 ( void )
{
char input [ 128 ];
( void ) scanf ( "%128c", input );
( void ) printf ( "%s", input ); /* Non-compliant */
}
/* ------------------ Example code from MISRA C:2012 end ------------------ */
#include <stdint.h>
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
int32_t id1_a_b_c;
int32_t id1_abc; /* Non-compliant */
int32_t id2_abc;
int32_t id2_ABC; /* Non-compliant */
int32_t id3_a_bc;
int32_t id3_ab_c; /* Non-compliant */
int32_t id4_I;
int32_t id4_1; /* Non-compliant */
int32_t id5_Z;
int32_t id5_2; /* Non-compliant */
int32_t id6_O;
int32_t id6_0; /* Non-compliant */
int32_t id7_B;
int32_t id7_8; /* Non-compliant */
int32_t id8_rn;
int32_t id8_m; /* Non-compliant */
int32_t id9_rn;
struct
{
int32_t id9_m; /* Compliant */
};
/* ------------------ Example code from MISRA C:2012 end ------------------ */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment