朝ごはん

 今日は朝ごはんの画像でも添付してみようと思う。
カレー、昨日焼いたパン、ほうれん草の煮浸し、肉のない肉じゃが(つまり、じゃが)、
おからの炊いたん、沢庵。
おからの炊いたんは、余ったものを片栗粉やパン粉を入れてコロッケみたいに揚げた。
味に変化はないが塊になった方が食べやすい。因みにおからは繋ぎとしては全く役に立たない。
 普段はカレー1杯程度で十分なのだが、食材が傷むのは忍びないので多めに食べた。
ほうれん草の煮浸しやおからの炊いたんなどは昨日の夜中に未調理の食材が気になって作った。
夜中の0時半頃から目覚めて深夜2時の間に作った。最近は夜型の生活になってきている。
寒くなると何故かそうなる。毎年この時期から夜型になって朝起きるのが辛い。。。
そして、春になってから朝型に戻るのだ。。。ある種の冬眠である。

 机の上が散らかっているのは勘弁してほしい。
一人暮らしだと家事だけでもやる事が多過ぎて、
掃除の範囲を固定化してオートパイロット(自動操縦状態)に任せがちになるのだ。。。
そして、一旦机の上から退けても、使うから机の上に置いているためにすぐ同じ配置に戻るのだ。

 夕ご飯についてはおからを揚げたもの以外は朝と同じなので載せない。
私は1週間同じものを食べ続けても飽きない性質なので、
週初めにまとめて作ってそれを1週間掛けて食べる食習慣を送っている。

C++の変数の初期化について

 さて、今更感があるが「Effective Modern C++」という書籍を購入した。
前々から気になっていたのだが、C++は仕事ではまず使わない言語だったので買わなかった。
今は退職する予定でC++をガンガン書いてスキルを磨く予定なので購入した。

 C++では幾つか初期化方法があり、書き方によって推論される型に変化があるらしい。
代入演算子で波括弧({})で囲った値を変数に代入したパターン「auto x = { 1 }」と、
それ以外のパターン「auto x = 1」(あくまで一例)で異なるようだ。
前者は std::initializer_list<T> になり、後者は int 型になる。

 だからといって、これ単体ではそこまで差異が無いだろう。
強いて言うなら、cout で値を出力しようとしたらエラーになる点だろうか。
constexpr など右辺値が重要になるコーディングで差異が出ると思われる。
一応下記に書籍のリンクとコード、実行結果などを添付しておく。

#include <iostream>

using namespace std;

template<typename T>
void printTypeName(T i)
{ 
    // typeid で型を出力。出力は処理系依存で、人間が読めるとは限らない。
    cout << "type: " << typeid(i).name() << endl;
}

int main()
{
    // 初期化方法
    auto x1 = 27;       // 型はint、値は27
    auto x2(27);        // 型はint、値は27
    auto x3 = { 27 };   // 型はstd::initializer_list<int>、値は27
    auto x4{ 27 };      // 型はint、値は27(C++17)

    printTypeName(x1);
    printTypeName(x2);
    printTypeName(x3);
    printTypeName(x4);

    return 0;
}

By ta-boss

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です