0

これらの用語を説明してもらえますか: 参照セマンティクスと値セマンティクス (およびそれらがどのように対比するか) と非線形可変状態。それらは、このリンクの書評へのコメントで言及されています http://lambda-the-ultimate.org/node/2849

この本はもちろん「プログラミング: C++ を使用した原則と実践」です。多くのコメンテーターは、参照セマンティクスを無視するため、この本を教育には役に立たないと呼んでいます。

参照型 (例: クラス) を使用したプログラミングが、値型 (例: 構造体) を使用したプログラミングに対して進むべき道であることを意味していると思います。

私は自分の理解を疑っています.bjarne stroustupがそれを行うとは思えないので、C ++はクラスに関するものです...したがって、参照セマンティクスという用語にはもっと深い何かがあると思います.少なくとも私には明らかではない何か.

また、線形状態と非線形状態という用語が使用されましたが、これは興味をそそるように見えますが、私には理解できません。

誰かがそれらの用語を説明できれば、それは素晴らしいことです

4

1 に答える 1

2

それらのコメントを読みすぎないでください。彼らはそれほど啓発的ではありません。

基本的に、「参照セマンティクス」は を使用していることを意味しint*、値セマンティクスは を使用していることを意味しますint。"Achilleas Margaritis" は、本が使用していることを訴えておりvector<int>、実際にはあなたが通常持っていると彼は考えていますvector<int*>。(私は明らかに同意しません)。

「非線形可変状態」は、私が非直交状態と呼んでいるようです。たとえば、9 でない限りFoo.x、7 と 8 に設定できます。特に、許可されたミューテーションのセットが以前の操作に自明ではないことを意味しているようです。自分で管理している場合はそうですが、ミューテーターの振る舞いははるかに合理的です。Foo.yFoo.zchar[]std::string

于 2012-07-23T13:56:13.060 に答える