最佳答案
在比雅尼·斯特劳斯特鲁普的 译自: http://www.wikipedia.org/wiki/(http://en.wikipedia.org/wiki/The _ c% 2B% 2B _ Programming _ Language)第4版第2节中,使用了以下代码作为 锁链的例子:
void f2()
{
std::string s = "but I have heard it works even if you don't believe in it" ;
s.replace(0, 4, "" ).replace( s.find( "even" ), 4, "only" )
.replace( s.find( " don't" ), 6, "" );
assert( s == "I have heard it works only if you believe in it" ) ;
}
断言在 gcc
(原文地址: http://coliru.stack-crooked.com/a/d3d81ff98cab2f5c)和 Visual Studio
(译自: 美国《科学》杂志网站(http://rextester.com/IFNX5880))中失败,但是在使用 当(译自: 美国《科学》杂志网站(http://coliru.stack-crooked.com/a/e6facaa9f18e252f)原著: http://www.coliru.com/)时不会失败。