Namespaces and Organization
Namespace Aliases
A namespace alias gives a shorter name to a long namespace path.
namespace alias
A namespace alias uses `namespace short_name = long::namespace_name;`.
Namespace Aliases
namespace_aliases.cpp
Replay: real traced execution (multi-file project)
#include <iostream>
#include <string>
namespace company::reports {
std::string summarize(int count) {
return "reports=" + std::to_string(count);
}
}
int main() {
namespace rpt = company::reports;
int count = 3;
std::string summary = rpt::summarize(count);
std::cout << "count=" << count << std::endl;
std::cout << summary << std::endl;
return 0;
}
#include <iostream>
#include <string>
namespace company::reports {
std::string summarize(int count) {
return "reports=" + std::to_string(count);
}
}
int main() {
namespace rpt = company::reports;
int count = 1;
std::string summary = rpt::summarize(count);
std::cout << "count=" << count << std::endl;
std::cout << summary << std::endl;
return 0;
}
#include <iostream>
#include <string>
namespace company::reports {
std::string summarize(int count) {
return "reports=" + std::to_string(count);
}
}
int main() {
namespace rpt = company::reports;
int count = 5;
std::string summary = rpt::summarize(count);
std::cout << "count=" << count << std::endl;
std::cout << summary << std::endl;
return 0;
}
count ← 3
10int main() {11 namespace rpt = company::reports;1213 int count→ 3 = 3; //@count=1, 51415 std::string summary = rpt::summarize(count3);std::string summarize(int count)
4namespace company::reports {5std::string summarize(int count3) {6 return "reports=" + std::to_string(count3);7}summary ← reports=3
15 std::string summary→ reports=3 = rpt::summarize(count3);1617 std::cout << "count=" << count3 << std::endl;18 std::cout << summaryreports=3 << std::endl;19 return 0;20}outputcount=3 reports=3
count ← 1
10int main() {11 namespace rpt = company::reports;1213 int count→ 1 = 1;1415 std::string summary = rpt::summarize(count1);std::string summarize(int count)
4namespace company::reports {5std::string summarize(int count1) {6 return "reports=" + std::to_string(count1);7}summary ← reports=1
15 std::string summary→ reports=1 = rpt::summarize(count1);1617 std::cout << "count=" << count1 << std::endl;18 std::cout << summaryreports=1 << std::endl;19 return 0;20}outputcount=1 reports=1
count ← 5
10int main() {11 namespace rpt = company::reports;1213 int count→ 5 = 5;1415 std::string summary = rpt::summarize(count5);std::string summarize(int count)
4namespace company::reports {5std::string summarize(int count5) {6 return "reports=" + std::to_string(count5);7}summary ← reports=5
15 std::string summary→ reports=5 = rpt::summarize(count5);1617 std::cout << "count=" << count5 << std::endl;18 std::cout << summaryreports=5 << std::endl;19 return 0;20}outputcount=5 reports=5