Implicit and Dynamic Parameters in C++

  • Christian Heinlein
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4228)


Implicit and dynamic parameters are proposed as a general means to reduce the length of argument lists of function calls without resorting to dangerous global variables. In C++, these new kinds of parameters constitute a generalization of parameters with default arguments, whose values can be omitted in function calls. In contrast to the latter, however, the values of implicit and dynamic parameters are not obtained from a function’s definition context, but rather from its different calling contexts. This is in turn similar to so-called dependent names in function templates, but offers a higher degree of flexibility and comprehensibility.


Dynamic Parameter Calling Context Explicit Argument Regular Parameter Implicit Parameter 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Costanza, P.: Dynamically Scoped Functions as the Essence of AOP. ACM SIGPLAN Notices 38(8), 29–36 (2003)CrossRefGoogle Scholar
  2. 2.
    Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley, Reading (2005)Google Scholar
  3. 3.
    Hanson, D.R., Proebsting, T.A.: Dynamic Variables. In: Proc. 2001 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI), Snowbird, UT, June 2001, pp. 264–273. ACM, New York (2001)CrossRefGoogle Scholar
  4. 4.
    Heinlein, C.: Local Virtual Functions. In: Hirschfeld, R., Kowalczyk, R., Polze, A., Weske, M. (eds.) NODe 2005, GSEM 2005, Erfurt, Germany, September 2005. Lecture Notes in Informatics, vol. P-69, pp. 129–144. Gesellschaft für Informatik, Bonn (2005)Google Scholar
  5. 5.
    Heinlein, C.: Global and Local Virtual Functions in C++. Journal of Object Technology 4(10), 71–93 (2005), CrossRefGoogle Scholar
  6. 6.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  7. 7.
    Lewis, J.R., Shields, M.B., Meijer, E., Launchbury, J.: Implicit Parameters: Dynamic Scoping with Static Types. In: Proc. 27th ACM Symp. on Principles of Programming Languages, Boston, MA, January 2000, pp. 108–118. ACM, New York (2000)Google Scholar
  8. 8.
    Spinczyk, O., Gal, A., Schröder-Preikschat, W.: AspectC++: An Aspect-Oriented Extension to the C++ Programming Language. In: Noble, J., Potter, J. (eds.) Proc. 40th Int. Conf. on Technology of Object-Oriented Languages and Systems (TOOLS Pacific), Sydney, Australia, February 2002, pp. 53–60 (2002)Google Scholar
  9. 9.
    Steele Jr., G.L.: Common Lisp: The Language, 2nd edn. Digital Press, Bedford (1990)MATHGoogle Scholar
  10. 10.
    Stroustrup, B.: The C++ Programming Language, Special edn. Addison-Wesley, Reading (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Christian Heinlein
    • 1
  1. 1.Dept. of Computer ScienceUniversity of UlmGermany

Personalised recommendations