source: doc/theses/rob_schluntz_MMath/examples/ctor/member.c @ 167d5ae

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resnenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprno_listpersistent-indexerpthread-emulationqualifiedEnum
Last change on this file since 167d5ae was 67982887, checked in by Peter A. Buhr <pabuhr@…>, 6 years ago

specialize thesis directory-names

  • Property mode set to 100644
File size: 322 bytes
Line 
1struct T {
2  int x;
3};
4const int val = 12223344;
5void ?{}(T * t) {
6  if (t->x == val) printf("uh-oh, constructed twice!\n");
7  t->x = val;
8}
9
10struct S {
11  T t1, t2;
12};
13
14void ?{}(S * this) {
15  // construct both members
16}
17
18void ?{}(S * this, int x) {
19  // forward
20  ?{}(this);
21  ?{}(&this->t1);
22}
23
24int main() {
25  S s = 5;
26}
Note: See TracBrowser for help on using the repository browser.