c++练习==>命名空间

废话不多说,假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。

同样的情况也出现在 C++ 应用程序中。例如,您可能会写一个名为 xyz() 的函数,在另一个可用的库中也存在一个相同的函数 xyz()。这样,编译器就无法判断您所使用的是哪一个 xyz() 函数。

因此,引入了命名空间这个概念,专门用于解决上面的问题,它可作为附加信息来区分不同库中相同名称的函数、类、变量等。使用了命名空间即定义了上下文。本质上,命名空间就是定义了一个范围。

首先VS2015建一个空的工程,然后添加头文件stringpuls.h和stringpuls.cpp文件

stringpuls.h代码:

//#ifdef STRINGPLUS_H
//#define STRINGPLUS_H
#include <string>
#include <algorithm>
#include <cctype>
using namespace std;
namespace stringpuls{
	string to_upper(const string &);
}
//#endif // STRINGPLUS_H

stringpuls.cpp代码:

#include "stringpuls.h"

using namespace std;
namespace stringpuls {
	string to_upper(const string & str) {
		string ret_val = str;
		for_each(ret_val.begin(), ret_val.end(),[](char &c){c = (char)tolower(c);});
		return ret_val;
	}
}

主函数调用代码:

#include <iostream>
#include "stringpuls.h"
using namespace std;
//using namespace stringpuls;
int main() {
	string s = stringpuls::to_upper("SADF");
	cout << s << endl;
	system("PAUSE");
}

结果:


发布了347 篇原创文章 · 获赞 608 · 访问量 261万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览