We are the Physics

We are the Physics

音楽が好きなので音楽の話をしますし、漫画が好きなので漫画の話をしますし、物理学が好きなので物理の話をしたりもします。

Amebaでブログを始めよう!
AOMORI ROCK FESTIVAL’15~夏の魔物~

行きます。チケット2枚買って1枚余ってます。気軽に声かけてください。
神聖かまってちゃんとかうしじまいいにくとかが観たいのです。

大槻ケンヂ、人間椅子、テンテンコとかが観たいのです。

水曜日のカンパネラとかベルリン少女ハートとかが観たいのです。

ラフィンノーズとかが。
Item 3: Use const whenever possible
単純に'=='を'='とタイポするバグを除ける。

semantic : 意味に関する
enlist : <援助などを> 求める
versatile : 多彩な
capricious : 気まぐれな
rational : 理にかなった
squint : 目を凝らす
invoke : <プログラムなどを> 呼び出す
atrocity : 凶悪な
flat-out : 間違いなく
hallmark : 太鼓判
gratuitous : 不当な
prevail : 普及している


const * -> ポインタの指し示す先がconst
* const -> ポインタそのものがconst

char greeting[] = "Hello";

char p* = greeting; // non-const pointer, non-const data
const char *p = greeting; // non-const pointer, const data
char *const p = greeting; // const pointer, non-const data
const char *const p = greeting; // const pointer, const data


const type *もtype const *も同じ意味。

void f1(const Widget *pw); // f1 takes a pointer to a constant Widget object
void f2(Widget const *pw); // so does f2


iteratorはT*ポインタのように動作する。
iterator constはT* constのようなもの。ポインタはconstで、中身はconstでない。
const_iteratorにすれば中身は変更できない。

std::vector vec;
...
const std::vector::iterator iter = vec.begin(); // iter acts like a T *const
*iter = 10; // OK, changes what iter points to
++iter; // error! iter is const

std::vector::const_iterator cIter = vec.begin(); // cIter acts like a const T*
*cIter = 10; // error! *cIter is const
++cIter; // fine, changes cIter

const Member Functions

bitwise constnessとlogical constness
















class TextBlock {
public:
...
const char & operator[] (const std::stize_t position const) { // operator[] for const objects
return text[ position ];
}
char & operator[] (const std::size_t position) const { // operator[] for non-const objects
return text[ position ];
}
private:
std::string text;
};

TextBlock tb("Hello");
std::cout << tb[0]; // calls non-const TextBlock::operator[]

const TextBlock ctb("World");
std::cout << ctb[0]; // calls const TextBlock::operator[]

void print(const TextBlock & ctb) { // in this function, ctb is const
std::cout << ctb[0]; // calls const TextBlock::operator[]
}
http://www.tnews.jp/entries/16870

記事タイトルには突っ込みたくなる感じですが、中身はタメになりました。
面接に限らず、プレゼンとか人付き合いにおいてもとても重要なことが書いてあります。
僕としては「ピークエンドの法則」が思い当たる節も多々あってなるほどなあと思いました。

当たり前のことだと笑うなかれ。人は「当たり前」のことはできないものよ。

【メラビアンの法則】
1対1のコミュニケーションにおいて、相手が自分に対して持つ印象は、
・見た目などの視覚情報が55%
・口調や話の早さなどの聴覚情報が38%
・話の内容などの言語情報が7%

【マジックナンバー】
人間が短期的に記憶できるのは「4」で、数字が増えると思いだせる割合が減ってしまう。電話番号も「050-1234-5678」も「3, 4個の数を3つチャンク(かたまり)」になっています。

【話すスピードの心理学実験】
スピードを押さえて話したとき(1分に100語)のほうが、普通(1分間に150語)や早く(1分間に200語)話したときより、そのテーマを重要だと感じさせる。

【ピークエンドの法則】
私たちは自分自身の過去の経験を、ほとんど完全に、
① そのピーク時にどうだったか(【例】嬉しかったか、悲しかったか、おもしろかったか、つまらなかったか)
② それがどう終わったか(【例】最後は嬉しかったか、悲しかったか、おもしろかったか、つまらなかったか)だけで判定する、という法則