Internal and External Linkage

A deeper look at the C++ linker and how it interacts with our variables and functions. We also cover how we can change those interactions, using the extern and inline keywords

Ryan McCombe
Updated
Hello! I'm here to help you with any questions about this lesson. Feel free to ask me anything - whether it's about specific concepts, examples, or how to apply what you've learned!

Questions & Answers

Answers are generated by AI models and may not have been reviewed. Be mindful when running any code on your device.

Understanding Object Files
Can you explain the concept of object files in more detail?
Resolving Multiple Definitions
How do you resolve linker errors related to multiple definitions of the same function?
Using Anonymous Namespaces
How do anonymous namespaces affect linkage and scope?
Using the extern Keyword
Can you give more examples of when to use the extern keyword?
Managing Global Variables
What are some best practices for managing global variables in large projects?
Using the Inline Keyword
How does the inline keyword help with the one-definition rule?
Linkage of Constants
Why do const and constexpr variables have internal linkage by default?
Using Inline Variables
What are the advantages of using inline variables over other methods to avoid multiple definitions?
Scope Resolution Operator
How do you use the scope resolution operator to access shadowed symbols?
Extern Constexpr in Visual Studio
Can you explain the /Zc:externConstexpr option in Visual Studio?