0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

「値」と「参照」と「式」

Posted at

「値」と「参照」の続きです。
変数に格納される要素として参照以外にが入るパターンもあるな、と思ったので書きました。

値に式が入ることもある

さらにややこしいことに、箱の中身には何かしらの「作業命令」が入っているパターンもあります。

report__29__csv_-_OpenOffice_Calc.jpg

上記の状態の時、「E2」の値は(文字列として解釈するなら)「C2+D2」ですが
その「C2+D2」を値でななく式として解釈すると
『「C2」の値と「D2」の値を足せ』という命令になり、結果として「23」という値を抽出することができます。
この時、「E2」の値はとなります。

上記をC++で表現

※要c++11コンパイル

#include <iostream>
#include <string>
using namespace std;

int c2 = 10;
int d2 = 13;
auto e2 = []{
  return c2 + d2;
};

int main()
{
  cout << to_string(e2()) << endl;
  return 0;
}

変数e2は値ではなく、処理自体を代入しています。
そして、e2呼び出し時に中の処理を実行し、出力内容は計算結果である「23」となります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?