2020年によく聞いたアルバム、曲
XPS13 9300 レビュー(XPS13 9343、Thinkpad X13との比較)
デルアンバサダープログラムでXPS13 9300 をお借りしました。 dell-ambassador.com
私は普段、2015年に買ったXPS13 9343を使っています。記憶では極薄ベゼルを採用した最初のモデルで、当時かなり感動して購入しました。というわけで、この古いXPS13と比較しながらレビューしようと思います。また、ちょうど手元にThinkpad X13もあったのでこれとも比べてみます。
XPS13 9300 のスペック
お借りしたXPS13 9300のスペックはこちら。メモリ32GB積めるモバイルPCはかなり珍しいです。これか、Thinkpad X13くらいだと思います。これだけあれば快適にSW開発できます。
項目 | 値 |
---|---|
CPU | Core i7 1065G7 |
メモリ | 32GB 3733MHz LPDDR4x |
ストレージ | 1TB M.2 PCIe NVMe SSD |
ディスプレイ | 13.4インチUHD+(3840x2400)フレームレス 光沢タッチ(低反射)ディスプレイ(500-Nit) |
筐体
ほとんど同じ大きさかなと想像していたのですが、少し横の大きさが小さくなっています。持ち運びには出来るだけ小さいほうがいいので、いい進化ですね。また、開閉の動きが軽くなっているのと、閉まる寸前でもばたっと閉まることがなく、なめらかに閉まります。高級感が増しました。
Thinkpad X13 と比べると全然小さいです。
画面
XPS13 9300の画面は4K解像度なので、文字が滑らかに表示されます。画面が小さいので4Kは要らないかなと思ってましたが、この滑らかさは魅力的です。 しかも、ただの4Kじゃなく縦に少し長いです。このわずかな違いが大きいです。Webページを開いたり、コードを読んでいる時に画面内に表示できる情報量がかなり多くなったと感じます。
キーボード
キーボードも筐体いっぱいに広がったことで押しやすくなりました。また、押し心地もXPS13 9343よりも押している感があります。Thinkpad X13と比べると、X13 は昔ながらのキーボード、こちらは最近のモバイルPCのキーボードって感じです。 気になるのはEnterキーの上の電源ボタンでしょうか。Deleteキーと間違えて押してしまわないか不安です。
カメラ
普通のノートPCのように画面上部についています。 XPS13 9343ではモニターの下についていました。Zoomなどでカメラを有効にすると明らかに下からあおるような映像になってしまっていたので、よい変更だと思います。
拡張性
Type-Cが2つ、MicroSDカードスロットとイヤホンジャックがついています。最近のPCとしては一般的でしょうか。いまいちMicroSDカードスロットの使いどころがわかりません。。。 イヤホンジャックは便利ですね。
この観点ではThinkpad X13 は最強で、Type-C2つ、USB-A2つ、イヤホンジャック、HDMI端子がついています。
まとめ
携帯性とスペックを兼ね備えたマシンとして、5年前のXPS13 9343よりも着実に進化していました。 Thinkpad X13と比較すると、筐体の小ささが圧倒的です。重めの処理をするし、外出も多い、みたいな方にお勧めのマシンです。
おまけ
DAZNのクーポンもついてきたので、サッカー見てみました。ハイライトで見れるのが便利。あとはスポーツバラエティもやってるので楽しめました。
2018 よく聞いた曲&アルバム
出力の参照渡しとポインタ渡しの比較
概要
関数の引数はGoogle C++ Style Guideに従って以下の形式にすると良い.
void myclass::hoge(const myclass& a, int val, int* answer1, int* answer2);
- 入力については,ポインタ or const参照
- 出力は必ずポインタで渡す
- 出力先としてnullptrを指定して,要らない出力は受け取らないみたいなことが出来る.
はじめに
最近C++を始め,Effective C++,C++のためのAPIデザインなどを読みながら勉強しています.
コーディング規約としてはGoogle C++ Style Guideを参考にしているのですが,参照引数について規約の理由を検討しました.
結果,エラー処理の考え方によってはリーズナブルだと分かりました. (なお,例外は使わない方針です -> Google C++ Style Guide)
参照引数に関する規約の概要
参照引数の箇所によると以下の方針.
- const参照は効率的だから使う.
- 入力引数のポインタ渡しは,nullptrを渡したい場合に使う.
- 非const参照は,通常の引数と違って値が書き変わるのが分かりにくいため使わない.
- 出力引数として参照を使用してはいけない.ポインタを使う.
出力の参照渡しの利点
入力をconst参照で渡すのは効率的でよい.これはEffective C++にも書いてあります. ただ,出力をポインタで渡すと,nullptrチェックが必要になります.
例えば,以下のような関数を考えます.
void getValuesByPointer(int* x, int* y) { if (x != nullptr){ *x = 1; } if (y != nullptr){ *y = 2; } return; }
参照ではnullptrになりえないので,チェックは不要です.もっと簡潔に書けます.
void getValuesByRef(int& x, int& y) { x = 1; y = 2; return; }
出力のポインタ渡しの利点
出力をポインタで渡すと,明示的に受け取らないということが可能になります. 上の例でxだけ取得したい場合,参照を使ったコードでは以下のようになります.yは宣言しているのに使いません.
int main() { int x; int y; // 不要だけど宣言しないとダメ getValuesByRef(x, y); cout << x << endl; return 0; }
一方ポインタでは以下のように書けます.
int main() { int x; getValuesByPointer(&x, nullptr); cout << x << endl; return 0; }
これはちょうどPythonの_
みたいな感じです.参照と比べて非常に便利.
また,intではなくて非常に大きなオブジェクトの場合は,メモリサイズ削減にも寄与します.
まとめ
出力はポインタで渡す設計にしよう.
2016年 個人的ベストアルバム
沢山あります。
続きを読む