Everything About ___
Live briefing

Everything about One Definition Rule

Rule of programming language C++

The One Definition Rule (ODR) is an important rule of the C++ programming language that prescribes that classes/structs and non-inline functions cannot have more than one definition in the entire program and templates and types cannot have more than one definition by translation unit. It is defined in the ISO C++ Standard 2003, at section 3.2. Some other programming languages have similar but differently defined rules towards the same objective. Wikipedia →

🧭 Start here: a 6-step reading path

  1. Read the overview: One Definition RuleA 5-minute orientation
  2. Pick up a classic book: The Art of WarThe most-reprinted book on the subject
  3. Read the landmark paper: Definition and Application of a Five-Parameter Characterization of One-Dimensional Cellular Automata Rule SpaceCited 40 times
  4. Go sideways: C++ classesA closely related topic
  5. Go sideways: Copy elisionA closely related topic

📖 Definitions

No dictionary entry for this exact phrase.

🏆 Landmark papers (most cited)

📚 Books worth reading

Ranked by number of editions on Open Library, a rough measure of how lasting a book is.

🔗 Related topics