Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Main Page
Related Pages
Topics
Namespaces
Data Structures
Files
File List
Globals
EXTERNAL_HEADERS
RSL
etc
config
src
EMPTY_MEM_INITIALIZER.cpp
Go to the documentation of this file.
1
// checking for empty mem-initializer arglist
2
3
25
template
<
class
T,
class
U>
26
struct
S
27
{
28
T
t
;
29
U
u
;
30
31
// exercise 12.6.2, p3, bullet 1
32
S
():
t
(
/* expression-list optional */
),
u
() { }
33
};
34
35
int
foo
(
char
c
)
36
{
37
// dirty up the stack
38
char
dummy [32];
39
for
(
int
i
= 0;
i
!=
sizeof
dummy; ++
i
)
40
dummy [
i
] =
c
+
i
;
41
42
return
dummy [0] + dummy [
sizeof
dummy - 1];
43
}
44
45
struct
X
46
{
47
char
c
;
48
int
i
;
49
};
50
51
int
bar
()
52
{
53
S<int, X>
s
;
54
const
char
*
p
= (
const
char
*)&
s
;
55
56
// member must be default-initialized (zeroed out)
57
for
(
int
i
= 0;
i
!=
sizeof
s
; ++
i
)
58
if
(*
p
)
59
return
0;
60
return
1;
61
}
62
63
int
main
()
64
{
65
foo
(
'a'
);
66
67
return
!
bar
();
68
}
i
#define i
Definition
17.names.cpp:126
T
#define T
Definition
17.names.cpp:163
t
#define t
Definition
17.names.cpp:136
u
#define u
Definition
17.names.cpp:137
c
#define c
Definition
17.names.cpp:111
s
#define s
Definition
rw_alg_test.h:221
p
#define p
Definition
17.names.cpp:132
U
#define U
Definition
17.names.cpp:164
bar
int bar()
Definition
EMPTY_MEM_INITIALIZER.cpp:51
main
int main()
Definition
EMPTY_MEM_INITIALIZER.cpp:63
foo
#define foo(buf, s,...)
Definition
VA_LIST_FUNC_MACRO.cpp:28
S
Definition
COLLAPSE_TEMPLATE_STATICS.cpp:40
S::u
U u
Definition
EMPTY_MEM_INITIALIZER.cpp:29
S::t
T t
Definition
EMPTY_MEM_INITIALIZER.cpp:28
S::S
S()
Definition
EMPTY_MEM_INITIALIZER.cpp:32
X
Definition
DUMMY_DEFAULT_ARG.cpp:35
X::i
int i
Definition
EMPTY_MEM_INITIALIZER.cpp:48
X::c
char c
Definition
EMPTY_MEM_INITIALIZER.cpp:47
Generated by
1.9.8