Help us understand the problem. What is going on with this article?

「C++完全理解ガイド」の同意できること上位10

More than 1 year has passed since last update.

C++完全理解ガイド Rev1.3.00
https://qiita.com/_EnumHack/items/b5672ac9be86584a6629

よかったこと7 20180417現在
よいと思うこと10 20180418現在(7,8,9追加)

1 「良いキーボードを使う」

良いキーボードを使うと気分が高揚する(重要

20代後半で、色々な場所で、色々な機材を使わざるを得ないことがありました。腱鞘炎らしい現象に悩まされました。

自分の指、肘、肩に合ったキーボードを探しましょう。
ノートPCを使うときも、USBキーボードでもいいじゃないか。

2 「いい椅子に座る」

いい椅子に座ることで長時間のプログラミングにも耐えうる。

腱鞘炎の防止は、机に肘をつけてなんとかなっている。
腰痛の防止は、1時間に1回は100歩以上歩くことと、
「いい椅子に座る」ことで防いでいる。

3 「お気に入りのドリンクを用意する

個人的に重要なポイント。
紅茶かなーやっぱりww

20歳の時に神経性胃炎でコーヒーにはミルクを入れろと言われました。
30歳の時に肥満性脂肪肝で1週間入院したことがあります。20歳の時より20Kg体重が増えていました。
コーラとキャラメルコーンを食べながらプログラム組んでいました。
コーヒーにはミルクを入れるなと言われました。

糖分を控え目にするのに、紅茶、烏龍茶、緑茶を取り揃えています。

2018年夏には、麦茶を常備しました。

4 10冊以上本のサンプルを入れてみる

4.2 僕が読んだ本(抜粋)
1 C++ Primer
2 Programing Language C++
3 C++ Templates: The Complete Guide
4 C++ テンプレートテクニック
5 Effective C++
6 More Effective C++
7 Effective STL
8 C++11/14 コア言語
9 Effective Modern C++
10 Optimized C++
11 C++ ポケットリファレンス」
並んだ本11冊は、実際に取り組むと良さそうな本が並んでいます。

10冊試してみると、時代、OS、バージョンなどの制約も見えてくるのが経験則です。コンパイルエラーが出るのも時代の一つと理解する。
C++, JAVA, Pythonなど大切な言語は10冊やってから講師を勤めてます。

初版の年月、改定の年月を記録しておくとよい。

1 C++ Primer

2 Programing Language C++

3 C++ Templates: The Complete Guide

C++ Templates The Complete Guide(2nd Edition)をclang++とg++でコンパイルしてみた
https://qiita.com/kaizen_nagoya/items/a7065ea839cb33793bdf

4 C++ テンプレートテクニック

5 Effective C++

https://github.com/BartVandewoestyne/Effective-Cpp/tree/master/Second_Edition

6 More Effective C++

https://github.com/suz-yang/MoreEffectiveCpp

7 Effective STL

https://github.com/Yuzhen11/Effective_STL

8 C++11/14 コア言語

9 Effective Modern C++

Effective ModernC++をclang++, g++でコンパイルしてみる
https://qiita.com/kaizen_nagoya/items/2fafaf28782d192e237e

10 Optimized C++

11 C++ ポケットリファレンス

上記以外に候補を探している。

12 Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming

https://github.com/ranzhaocgu/Books-and-Papers/blob/master/Books/Programming/Real-Time%20C%2B%2B%20Efficient%20Object-Oriented%20and%20Template.pdf

コードは一部のみ。
https://github.com/ckormanyos/real-time-cpp

13C++ High Performance: Boost and optimize the performance of your C++17 code

https://github.com/PacktPublishing/Cpp-High-Performance/tree/master/Chapter01

5 printfデバッグ

「5.9 デバッグ方法
5.9.1 printf デバッグ
printfデバッグ最強
バグ付近で変数をprintfしまくって引数をいろいろ変えて実行するだけ。
最も効果的である」

デバッガのデバッグほど難しいものはない。
高価なデバッガや、高度なデバッガを使いこなせるまでの間、printfデバッグを併用することをお勧めしたい。

6CとC++

4.3 C++を学ぶ前にC言語を学ぶべきか?
結論から言うと間違っていると僕は考える。

C++でコンパイラやOSを書いてみれば、Cをやる必要はないはずというのが今の仮説です。

7 エラーメッセージ

5.5 エラーメッセージの読み方を極める

読み方は知らなくても、エラーメッセージを保存しよう。

エラーメッセージを保存せずに質問する人、何様?
「関係ないエラーメッセージは消しました。」という人がいる。
関係ないとわかるのに、なぜ質問してることわからないの?。おかしくね?

8 コンパイラ

コンパイラを変えてエラーメッセージを見るのも有効。

見事に違う方向から出てくると嬉しい。

Clang/Clang++(LLVM) gcc/g++(GNU) コンパイラ警告等比較
https://qiita.com/kaizen_nagoya/items/9a82b958cc3aeef0403f

9 音楽

音楽を聴きながら

昔は音楽を聴きながらが効率が良かった。
最近は音楽が聴ける状況にない。泣)

10 規格

5.10 規格書(Draft)を極める

極める必要はない。新たな規格への意見を述べるには、サンプルはコンパイルできるようにしておきたい。

今ココ

C++N3242, 2011 sample code compile list on clang++ and g++
https://qiita.com/kaizen_nagoya/items/685b5c1a2c17c1bf1318

N4606 Working Draft 2016, ISO/IEC 14882, C++ standard(1) coding list
https://qiita.com/kaizen_nagoya/items/df5d62c35bd6ed1c3d43

C++N4741, 2018 Standard Working Draft on ISO/IEC 14882 sample code compile list

https://qiita.com/kaizen_nagoya/items/3294c014044550896010

同意

同意できる事項も他にいろいろあります。

僕がC++を使う理由
速いコードを生成するから

ハードウェアリソースやシステム関数に直接アクセスできる
これがC++をやめられない理由。

C++の現代的なイディオムを知るごとに、C++はずっとフレンドリーに感じられ
C++の規格書を理解するごとに、エラーメッセージはずっとフレンドリーに感じられる

昔話をしよう。
僕の卒業研究は『区間解析を用いた大域的最適化手法の改良』だった。

僕の卒業研究は「連立微分方程式のPade近似」でした。ごめんなさい。FORTRANで描いてます。C++まだ存在していなかった。

文書履歴

ver. 0.10 上位7 20180417
ver. 0.11 上位10 20180418
ver. 0.12 表現を推敲 20180418
ver. 0.13 引用を補強, C++N4741, C++N3242追記 20190301

このエントリーをはてなブックマークに追加
http://b.hatena.ne.jp/guide/bbutton

kaizen_nagoya
I'm a network designer.I work on TOPPERS SmallestSetProfile Kernel,MISRA-C, STARC RTL Design StyleGuide (Verilog-HDL),HAZOP,ISO/IEC15504(AutomotiveSPICE),ISO26262. I was an editor on ISO/IEC 15504.
https://researchmap.jp/blogs/blog_entries/view/81777/f691323917cc4ea12caf0b03b34c8ea0?frame_id=442673
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした