0

Here the 'StackFrame' is a constrcutor, with two arguments viz., _caller and _kf.

StackFrame::StackFrame(KInstIterator _caller, KFunction *_kf)
: caller(_caller), kf(_kf), callPathNode(0), 
 minDistToUncoveredOnReturn(0), varargs(0) {
locals = new Cell[kf->numRegisters];
}

I am unable to understand what does the ' : caller(_caller), kf(_kf), callPathNode(0), minDistToUncoveredOnReturn(0), varargs(0)' stand for?

Evg
  • 25,259
  • 5
  • 41
  • 83
  • 1
    This should be of use: https://stackoverflow.com/q/388242/2079303 – eerorika Jun 29 '21 at 05:55
  • And this [What's the differences between member initializer list and default member initializer on non-static data member?](https://stackoverflow.com/questions/36600187/whats-the-differences-between-member-initializer-list-and-default-member-initia) – Ted Lyngmo Jun 29 '21 at 05:57
  • This is the member initializer list. See, for example, here: https://en.cppreference.com/w/cpp/language/constructor – MadScientist Jun 29 '21 at 05:59

1 Answers1

1

It is called member initalizer list. It initializes the specified member to specified values.

For example caller(_caller) sets the member caller to the value of _caller, callPathNode(0) sets the value of callPathNode to 0.

More information here

haytaylan
  • 54
  • 4