Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Administrator
Public Cpp Test
Commits
2a291a73
Commit
2a291a73
authored
Oct 23, 2023
by
shengnan hu
Browse files
main
parents
Changes
638
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
777 additions
and
0 deletions
+777
-0
BM-GJB8114-2013/R-2-7-1/R-2-7-1-bad.cpp
BM-GJB8114-2013/R-2-7-1/R-2-7-1-bad.cpp
+31
-0
BM-GJB8114-2013/R-2-7-1/R-2-7-1-good.cpp
BM-GJB8114-2013/R-2-7-1/R-2-7-1-good.cpp
+21
-0
BM-GJB8114-2013/R-2-7-2/R-2-7-2-bad.cpp
BM-GJB8114-2013/R-2-7-2/R-2-7-2-bad.cpp
+70
-0
BM-GJB8114-2013/R-2-7-2/R-2-7-2-good.cpp
BM-GJB8114-2013/R-2-7-2/R-2-7-2-good.cpp
+71
-0
BM-GJB8114-2013/R-2-7-3/R-2-7-3-bad.cpp
BM-GJB8114-2013/R-2-7-3/R-2-7-3-bad.cpp
+73
-0
BM-GJB8114-2013/R-2-7-3/R-2-7-3-good.cpp
BM-GJB8114-2013/R-2-7-3/R-2-7-3-good.cpp
+73
-0
BM-GJB8114-2013/R-2-8-1/R-2-8-1-bad.cpp
BM-GJB8114-2013/R-2-8-1/R-2-8-1-bad.cpp
+53
-0
BM-GJB8114-2013/R-2-8-1/R-2-8-1-good.cpp
BM-GJB8114-2013/R-2-8-1/R-2-8-1-good.cpp
+53
-0
BM-GJB8114-2013/R-2-8-2/R-2-8-2-bad.cpp
BM-GJB8114-2013/R-2-8-2/R-2-8-2-bad.cpp
+44
-0
BM-GJB8114-2013/R-2-8-2/R-2-8-2-good.cpp
BM-GJB8114-2013/R-2-8-2/R-2-8-2-good.cpp
+48
-0
BM-GJB8114-2013/R-2-8-3/R-2-8-3-bad.cpp
BM-GJB8114-2013/R-2-8-3/R-2-8-3-bad.cpp
+33
-0
BM-GJB8114-2013/R-2-8-3/R-2-8-3-good.cpp
BM-GJB8114-2013/R-2-8-3/R-2-8-3-good.cpp
+33
-0
BM-GJB8114-2013/R-2-8-4/R-2-8-4-bad.cpp
BM-GJB8114-2013/R-2-8-4/R-2-8-4-bad.cpp
+37
-0
BM-GJB8114-2013/R-2-8-4/R-2-8-4-good.cpp
BM-GJB8114-2013/R-2-8-4/R-2-8-4-good.cpp
+37
-0
BM-GJB8114-2013/R-2-8-5/R-2-8-5-bad.cpp
BM-GJB8114-2013/R-2-8-5/R-2-8-5-bad.cpp
+21
-0
BM-GJB8114-2013/R-2-8-5/R-2-8-5-good.cpp
BM-GJB8114-2013/R-2-8-5/R-2-8-5-good.cpp
+24
-0
BM-MISRA-C 2012/D.4.10/D.4.10.c
BM-MISRA-C 2012/D.4.10/D.4.10.c
+1
-0
BM-MISRA-C 2012/D.4.10/file.h
BM-MISRA-C 2012/D.4.10/file.h
+7
-0
BM-MISRA-C 2012/D.4.14/D.4.14.c
BM-MISRA-C 2012/D.4.14/D.4.14.c
+12
-0
BM-MISRA-C 2012/D.4.5/D.4.5.c
BM-MISRA-C 2012/D.4.5/D.4.5.c
+35
-0
No files found.
BM-GJB8114-2013/R-2-7-1/R-2-7-1-bad.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-7-1/R-2-7-1-good.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-7-2/R-2-7-2-bad.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-7-2/R-2-7-2-good.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-7-3/R-2-7-3-bad.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-7-3/R-2-7-3-good.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-8-1/R-2-8-1-bad.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-8-1/R-2-8-1-good.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-8-2/R-2-8-2-bad.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-8-2/R-2-8-2-good.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-8-3/R-2-8-3-bad.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-8-3/R-2-8-3-good.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-8-4/R-2-8-4-bad.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-8-4/R-2-8-4-good.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-GJB8114-2013/R-2-8-5/R-2-8-5-bad.cpp
0 → 100644
View file @
2a291a73
#include <iostream>
using
namespace
std
;
int
main
(
void
)
{
try
{
throw
NULL
;
//违背1
}
catch
(
int
)
{
//...
}
catch
(
const
char
*
)
{
//...
}
return
(
0
);
}
BM-GJB8114-2013/R-2-8-5/R-2-8-5-good.cpp
0 → 100644
View file @
2a291a73
#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
);
}
BM-MISRA-C 2012/D.4.10/D.4.10.c
0 → 100644
View file @
2a291a73
#include "file.h"
BM-MISRA-C 2012/D.4.10/file.h
0 → 100644
View file @
2a291a73
/* ----------------- 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 ------------------ */
BM-MISRA-C 2012/D.4.14/D.4.14.c
0 → 100644
View file @
2a291a73
/* ----------------- 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 ------------------ */
BM-MISRA-C 2012/D.4.5/D.4.5.c
0 → 100644
View file @
2a291a73
#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 ------------------ */
Prev
1
…
20
21
22
23
24
25
26
27
28
…
32
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment