C# cin/cout使用什么技术/模式,例如cout<&书信电报;x<&书信电报;Y 在C++中,我们通常使用许多 < p>它被调用。例如,有一个boost库,它提供了一种链接方式,在大括号初始化开始()之前分配到容器中: 向量v; v+=1,2,3,4,5,6,7,8,9; typedef pairstru pair; 德克德克; 向前推(deq)(“foo”,“bar”)(“boo”,“far”);
但是,通常情况下,您会在其他语言中看到更多的功能,比如提供。我在C++中没有看到太多,在流之外。 它被调用。例如,有一个boost库,它提供了一种链接方式,在大括号初始化开始()之前分配到容器中: 向量v; v+=1,2,3,4,5,6,7,8,9; typedef pairC# cin/cout使用什么技术/模式,例如cout<&书信电报;x<&书信电报;Y 在C++中,我们通常使用许多 < p>它被调用。例如,有一个boost库,它提供了一种链接方式,在大括号初始化开始()之前分配到容器中: 向量v; v+=1,2,3,4,5,6,7,8,9; typedef pairstru pair; 德克德克; 向前推(deq)(“foo”,“bar”)(“boo”,“far”);,c#,c++,design-patterns,C#,C++,Design Patterns,但是,通常情况下,您会在其他语言中看到更多的功能,比如提供。我在C++中没有看到太多,在流之外。 它被调用。例如,有一个boost库,它提供了一种链接方式,在大括号初始化开始()之前分配到容器中: 向量v; v+=1,2,3,4,5,6,7,8,9; typedef pairstru pair; 德克德克; 向前推(deq)(“foo”,“bar”)(“boo”,“far”); 但是,通常情况下,您会在其他语言中看到更多的功能,比如提供。我个人在C++中看不到这么多,流之外。运算符重载!>正在
但是,通常情况下,您会在其他语言中看到更多的功能,比如提供。我个人在C++中看不到这么多,流之外。运算符重载!>正在移动运算符。Cout和Cin只是让它们重载(操作符重载)。这不是一个真正的设计模式,我不建议为你的类重载它们,除非它清楚说明它们应该做什么。
some_class*do_some(int x){…return this;}
在支持链接时应该是some_class&do_some(int x){…return this}`这个术语不是“流畅的接口”. Fluent接口只是方法链接的一个用例。而且操作员流媒体界面绝对不流畅。@Barry:那就把你对老问题的答案贴出来。我们不需要像这样的评论分散在50个问题上,我们需要所有的评论和答案分组,以及50个路标来帮助搜索,因为在不知道其名称的情况下对这个概念进行关键字搜索是一个问题。这就是“标记为重复”所做的,创建路标。运算符重载->是移位运算符。Cout和Cin只是让它们重载(操作符重载)。这不是一个真正的设计模式,我不建议为你的类重载它们,除非它清楚说明它们应该做什么。some_class*do_some(int x){…return this;}
在支持链接时应该是some_class&do_some(int x){…return this}`这个术语不是“流畅的接口”. Fluent接口只是方法链接的一个用例。而且操作员流媒体界面绝对不流畅。@Barry:那就把你对老问题的答案贴出来。我们不需要像这样的评论分散在50个问题上,我们需要所有的评论和答案分组,以及50个路标来帮助搜索,因为在不知道其名称的情况下对这个概念进行关键字搜索是一个问题。这就是“标记重复”,创建“标志”。“我在C++中没有看到太多,流之外”——“代码>运算符=< /COD>,<代码> +=<代码>,<代码> *=<代码>,<代码> /=<代码>,<代码>和=<代码> >代码> > =>代码>等是其他常见的例子。但是你从来没有真正看到过我的代码;-)。更严重的是,您确实经常看到类似a=b=c=d代码>,'x=++y;'偶尔也会发生类似于f(a+=b)代码>@TonyD我不会把最后两件事叫做链锁。实际上,赋值运算符和复合赋值运算符都不是方法链,因为它们是从右向左分组的。你得到<代码> A.运算符=(B.Tal操师=(C++操作符=(d)))<代码> >运算符=(b)。运算符=(c)。运算符=(d)< /代码>“我个人在C++中没有看到这么多,流外”-<代码>运算符=< /> >,<代码> +=<代码>,<代码> *=<代码>,<代码> /=,<代码>和=>代码>|=
等是其他常见的例子。@TonyD那些支持它的,是的,但是你从来没有真正看到过a+=b+=c+=d
你没有看到过我的代码;-)。更严重的是,您确实经常看到类似a=b=c=d代码>,'x=++y;'偶尔也会发生类似于f(a+=b)代码>@TonyD我不会把最后两件事叫做链锁。实际上,赋值运算符和复合赋值运算符都不是方法链,因为它们是从右向左分组的。你得到的是a.operator=(b.operator=(c.operator=(d))
不是a.operator=(b.operator=(c.operator=(d)
cout << "x = " << x; // Output, for ex: x = 5
some_class& do_some_thing(int x) {
// process or print x
return *this;
}
vector<int> v;
v += 1,2,3,4,5,6,7,8,9;
typedef pair< string,string > str_pair;
deque<str_pair> deq;
push_front( deq )( "foo", "bar")( "boo", "far" );