我正在尝试模仿#include <string>
和namespaces
的行为,以便更好地理解dependencies
和std::
等......
在空项目中,如果我使用#include <string>
,则无法显示std::
,但在执行std::string
时,会出现一组新选项,包括字符串namespace
当然...
我试图模仿这个std namespace
分辨率,这样我就能更好地理解这一切是如何运作的......
因此,如果我的nsRoot1(在下面的代码中)代表<string class>
之类的内容,我将如何包含仅在我使用#include <string>
时可用的新namespace nsRoot1 {
}
namespace nsString {
class mCls2
{
public:
mCls2();
~mCls2();
private:
};
}
#include <string>
int main() {
std::string str;
return 0;
}
行为。
// main.cpp
#include "myStd.h"
int main()
{
mySTD::myStr aa;
aa.ToLower();
}
// myStd.h
#pragma once
namespace mySTD
{
class myStr
{
public:
myStr();
~myStr();
void ToLower(){}
private:
};
}
这是尝试模拟相同行为的另一个示例。 std如何在不同的头文件中分隔字符串类,只有在我们使用#include
时才可用// main.cpp
#include "myStd.h"
#include "myString.h"
int main()
{
mySTD::myStr aa;
aa.ToLower();
}
// mySTD.h
#pragma once
namespace mySTD
{
}
// myStr.h
#pragma once
namespace mySTD
{
class myStr
{
public:
myStr();
~myStr();
void ToLower() {}
private:
};
}
在你的帮助下,我能够模仿我想要的东西,所以这就是我想出来的结果......
getWatchlist(query: string): BehaviorSubject<IWatchlist> {
this.search(query)
.subscribe((searchResults: Observable<ISearchResults>) => {
const watchlist = formatSearchResults(searchResults);
this.watchlist$.next(watchlist);
});
return this.watchlist$;
}
谢谢...