#include #include using namespace std; int main() { int num; cout > num; vector array(num); int i; for (i = 0; i < num; i++) { cin >> array[i]; } for (i = 0; i < num; i++) { cout
C++ の場合 typedef で構造体を宣言し直さなくても、そのまま型として使えます。 C++ の struct は public で始まる class 宣言として扱われるためです。 stream の説明以外は上記を含めて C言語の説明なので C言語入門とされた方が良いと思います。改めて C言語入門受講後を前提で C++ 言語入門を作成されてはどうでしょう?
■セクション1:イントロ
【1-1】00:00:00 このコースについて
【1-2】00:01:16 AWS Cloud9による環境構築
■セクション2:基本構文
【2-1】00:05:23 C++の基本構文について
【2-2】00:06:45 最小単位:関数
【2-3】00:13:19 #includeについて
【2-4】00:16:55 ストリームとは何か
【2-5】00:23:47 int main () とは?(関数の作り方)
【2-6】00:28:01 名前空間について
【2-7】00:33:40 std::endlと
の違い
【2-8】00:35:25 ターミナルへの出力方法
■セクション3:文字列・数値
【3-1】00:40:03 文字列と数値の違い
【3-2】00:41:53 文字・数字の出力
【3-3】00:45:16 数値の出力
【3-4】00:47:00 文字列と数値の組み合わせ
【3-5】00:51:08 数値を使った計算
【3-6】00:52:40 小数を扱う方法
■セクション4:変数
【4-1】00:55:12 変数とは?
【4-2】00:59:35 メモリICの物理的な仕組み
【4-3】01:06:23 メモリICの論理的な仕組み
【4-4】01:10:27 変数の宣言・値の代入
【4-5】01:15:02 データ型
【4-6】01:18:38 型変換(キャスト)
【4-7】01:21:17 複合代入演算子
【4-8】01:24:02 インクリメント・デクリメント
【4-9】01:26:24 const定数
【4-10】01:28:54 キーボードからの入力(cin)
■セクション5:if文
【5-1】01:32:52 分岐処理について
【5-2】01:33:53 if文の基本(0で判定)
【5-3】01:36:37 等値演算子
【5-4】01:40:06 関係演算子
【5-5】01:42:23 論理演算子
【5-6】01:45:04 ブロック文
【5-7】01:46:57 if else
【5-8】01:49:43 3つの場合分け)
【5-9】01:52:28 switch case
■セクション 6:繰り返し
【6-1】01:56:24 繰り返し処理
【6-2】01:57:10 forの構文
【6-3】02:00:20 for文の基本
【6-4】02:03:01 二重ループ
【6-5】02:00:24 while文
【6-6】02:09:50 do while
■セクション7:関数
【7-1】02:11:57 関数とは?メリット
【7-2】02:14:06 引数・戻り値
【7-3】02:19:32 関数の作成〜呼び出し
【7-4】02:21:45 プロトタイプ宣言
【7-5】02:25:09 引数の渡し方
【7-6】02:38:07 複数の引数
【7-7】02:42:19 戻り値
【7-8】02:44:48 戻り値を使ったプログラム
■セクション8:配列
【8-1】02:47:55 配列について
【8-2】02:48:51 配列の仕組み
【8-3】02:51:08 配列の宣言・代入
【8-4】02:55:38 配列の初期化
【8-5】02:57:14 要素数の省略
【8-6】02:58:58 配列とfor文
【8-7】03:02:22 外部から数値を入力
【8-8】03:05:22 配列を引数として渡す
■セクション9:ポインタ
【9-1】03:08:32 ポインタとは何か?
【9-2】03:24:46 メモリICの物理的な仕組み
【9-3】03:37:08 メモリICの論理的な仕組み
【9-4】03:44:54 宣言と数値の代入
【9-5】03:57:40 別の関数から値を操作
【9-6】04:08:29 複数の戻り値を返す
【9-7】04:22:25 ポインタと構造体
■セクション10:構造体
【10-1】04:33:46 構造体とは何か?
【10-2】04:45:51 構造体の宣言方法
【10-3】04:54:05 構造体へ値を代入
【10-4】05:01:40 構造体を引数として渡す
【10-5】05:07:25 構造体を配列として扱う
【10-6】05:18:59 構造体とtypedef宣言
わかりやすすぎ…
他の言語触ったことある人なら倍速+飛ばし飛ばしで40分あれば普通に理解しながら見切れるからお手軽
気になる所も含めて全部説明してくれるので、本当に助かってます...ありがとうございます
コメントを下さりありがとうございます。お役に立てたようでとても嬉しいです!お気づきの点などありましたらお気軽にコメントください。
自分用
2:07:10 forのforの流れ
2:17:00 引数の再利用は不可
2:23:00 関数書き方
2:25:09 引数、仮引数
2:46:33 戻り値
2:46:45 if文利用方法
4:03:55 ポインタ仮引数
4:06:00 ポインタ変数
4:07:00 ポインタまとめ
4:10:50 関数へ2つ戻り値を戻してもらう時のこと、続きで結果を格納するプログラムのこと
4:24:58 構造体のポインタ(関数に渡す時は&をmain、*を渡す関数へ。またmainで代入するときは、*の宣言の後に&を*に代入する。)
「競プロやってみたいけど、どこでC++学べばよいのか分からんなぁ」と思っていたから大変ありがたい
助かりすぎる。なんで伸びないのかわからなくて夜しかねれん
俺も、朝しか寝れん
@@Joseph-sp1kh お前に関しては仕事行ってなくて草
しっかり寝てて草
@@しねん夜勤かもしれん
学校の授業はPythonだったのに
研究室の研究と他大学に院進してからC++を使うようになってしまい
ポインタについていくら調べても2年くらい全然分からなかったけど
この動画を見たら1発で理解出来た😂
もっと早く出会えてたら…
本当にありがとうございます!!
非常にわかりやすく勉強がしやすいです。pythonの勉強を始めたのですが、
どうもなじめないのでarduinoのプログラミングにも役にも立つのでc++を始めました。
私にはc言語の方が合いそうです。最後まで頑張ります。
C++の解説書を読んでいましたが?ここまで、詳細な解説はないです。また、Cを用いてC++のオブジェクトの奥深さも理解できそうです。ありがとうございます。5時間頑張ります。
ユースフル鳥羽toba眞嘉先生ありがとうございました😍丸暗記させず、語源探求、NG例でなぜ?と考えさせる、素晴らしい。とても分かりやすかった。
めちゃ分かり易くて引き込まれて視聴しました。
基本の部分を省略せずに反復して説明していただいたので頭に定着しました。
ありがとうございました。
大学の授業これ見ておくと理解度が全然違って苦手意識が一気になくなって楽しくなりました!
こんなに丁寧で、5時間!
有難うございます。
いつのまにか、「studio」では無くなったのですね。
なんとか最後まで、観て・聴いて、c++を学んでみようと思います。
この動画は不明な点を解決できます。とにかく素晴らしいです。!
最初から最後まで、とてもわかりやすい内容でした。本当にありがとうございました。
詳しいところまで解説してくれるので面白いです。
まじ学校の教師の教え方のくせが強すぎて困ってたからほんとに助かったです🙇♀️
ありがとうございます。 読んでから観るか、観てから「独習」を読むか? 今のところコロナで席が空いているので、涼しい場所で読んでは眠気増進のためにループ再生でかけ流し中。Cを先に読本したのでスムーズに入っている。Error 誘導型解説があると理解しやすい。まだまだその違いは分からないが、、
聞き取りやすい声、丁寧で流ちょうな解説 しゅきぃ・・・
1つ1つの意味を細かく例とかも含めて説明してくれたので凄く助かりました
本当に助かります!とても分かりやすいです。ありがとう😆😆
Cloud9
丁寧丁寧な分かりやすい解説でした!
こんにちわ!動画とっても参考になります。ありがとうございます。
1点確認したいのですが、動画の(8-9)配列外部からの入力のところまったく同じように記入をしているのですが int array [num] の部分がエラーになります(Visual Studioの挙動ですかね?)
具体的にはconstand valueにしろとエラー文が出ています。
もしこの方法をVSで使用したい場合は、方法はないのでしょうか?
私の場合
...
cin >> num;
int array[num];
...
とするとエラーは消えました
自分も同じことで困っていましたが、勉強を進めて解決法がわかったのでお伝えします。間違っていたら申し訳ないです。
配列を宣言する際、要素数は定数でなくてはならないようです。なので、const修飾子を付けるか,数字を入れればコンパイルは通ります。
そこで、プログラム実行時に配列の要素数を決めるにはどうすればいいかもわかりました。new演算子を用いれば実現可能です。検索すれば出てくるかと思われます。ぜひお試しください。
#include
#include
using namespace std;
int main()
{
int num;
cout > num;
vector array(num);
int i;
for (i = 0; i < num; i++)
{
cin >> array[i];
}
for (i = 0; i < num; i++)
{
cout
1:02:18
これは混乱する。
A0~A9はアドレスで、つまり、1024個の格納場所であって、データそのものではないと思う。
データ自体はD0~D7で1バイト(2^8=256)で表現されていると思う。
3:02:52 array[num]と書くと、numの値を定数値としては使えないと出てきます😭
外国人でも分かりやすくゆっくりはなしてくれてありがとうございます!
非常に分かりやすく70を過ぎた脳みそでも何とか付いて行けそうです。
困っている事と言えば戻って学習したり、また、元の学習位置に戻る時が難儀です。
希望のページに飛ぶうまい方法はあるのでしょうか?
鳥羽氏のコメントの目次からではダメですか
気になった点を二つほど。
ポインタと構造体の部分の説明はc++ではなくてc言語を使って説明していましたが、これに関してはc++とc言語は同じだということをひとこと触れていても良かったかもしれません。
それと細かいことですがc言語では「宣言」と「定義」は厳密に区別されていると思うのですがc++ではどうなんでしょうか?
とはいえ平易な説明でとてもわかりやすく面白かったです。クラスを除いたc++はc言語と大差ないのですね。どうもありがとうございました。クラス編も視聴しようと思います。
コメント失礼します。
今年4月に未経験で新卒入社なのですが、参考書で躓いていた時にこの動画に出会い、とても分かりやすく助かっています。
ありがとうございます!
1つ質問なのですが、動画の後半の方(セクション9、10辺り)にcoutではなくprintfを使っているのは何故でしょうか??
また、そこでたまに出てきた%dや%sなどの表記の意味も教えて頂けると嬉しいです。
(coutで%dを書かなくてもエラーにならなかったのでよく分からなくなってしまったので、、)
もしコメント見て頂けましたらよろしくお願いします。
嬉しいコメントを下さりありがとうございます!4月からお仕事応援してます..!
ややこしいことをしてしまい申し訳ございません。セクション9(ポインタ)と10(構造体)ですが、C++ではなくC言語で解説させて頂きました。
(ポインタ、構造体は多くがC言語で使われますので。。)
もちろん同じことがC++でも可能です。
github.com/masahirotoba/C_PlusPlus
こちらのGitHubにC++バージョンでコードをUPしてますので、もしよければご参考頂きますと幸いです。
なるほど、c言語だったんですね。
ご丁寧にありがとうございます!
これからもよろしくお願いします!
応援してます!
@@ransmjoin7907 わかりづらいことをしてすみません。。応援ありがとうございます!お互いエンジニアとしてこれからがんばりましょうね!
ありがとうございます。 1:08:39 あたりで、1024通りと解説されているが、画面では8ビットなので 256 だと思うのです。ごめんチャイ。
神動画 神チャンネル
23:29
1:14:04
1:16:25 const定数
1:52:29swith case
2:03:02for文二重ループ
2:06:26マニピュレーター
2:16:08戻り値についての補足説明
c++はcとは違って引数の欄はvoidではなく空欄なのか?
2:33:19関数の独立性
次回はポインタから
3:06:52新手の引数(int x[]);
プログラミング無知の状態から学習したいと思い本動画に辿り着きました。
概要欄の環境構築の通りに行っていますが、I AMユーザーでCloud9へのアクセスが拒否されてしまいます。
どなたか解決法がお分かりでしたら教えていただけますか;;
初めてオブジェクト指向が実装されたのはsimulaだと思います。
4:09:45
からのコードで、keisan関数のtasuという引数をint& tasuという形にして(hikuも同様)、main関数から呼び出す時、tasizanの参照演算子を外して呼び出す(hikizanも同様)と、同じ結果になると思うのですが、これはどのようが違いがあるのでしょうか?また、どちらを使う方が良いでしょうか?
長文になり申し訳ありません。
動画内で扱っているテキストは配布などされていますか?
メモリのアドレスの説明で、00000000~11111111の1024とありますが、これは8桁なので256ではないですか?単なる間違いですか?
ありがとうございます!
メモとらせていただきます🙇
2:06:54
2:45:29
3:03:45
3:06:30
4:02:06 D
4:25:15
4:50:18
5:14:00
質問があります!
メモリとアドレスを説明する部分(3:35:33)で、データ(変数に格納した数値)はメモリIC中のどこに格納するのでしょうか?
動画中の説明でメモリICの10つのピンを使ってメモリに固有のアドレスを記憶させているのはよく理解できました。
しかし、これではアドレスに対応する肝心のデータを格納する場所がなくなってしまったように思います.
どなたか教えてくれませんか?
同じ疑問が湧きました。とても参考になる動画なのですが、ここだけ混乱しちゃっています。
素人なので、内容に不備や間違い等があるかもしれませんが、個人的に調べた限りでは以下のようになっているそうです。
・A0~A9ピンでは、動画でも説明されていた通り、1024通りのアドレスを表されるのに使われる。これは10bit。
・D0~D7ピンが、実際のデータを表されるのに使われる。これは8bit=1byte。
つまり、A0~A9ピンによって、メモリに記憶されている中のどの情報(8bit=1byte)を参照するのかを決めて、参照された領域に格納されている情報(8bit=1byte)はD0~D7ピンによって表されるそうです。
最高です
C++ の場合 typedef で構造体を宣言し直さなくても、そのまま型として使えます。 C++ の struct は public で始まる class 宣言として扱われるためです。
stream の説明以外は上記を含めて C言語の説明なので C言語入門とされた方が良いと思います。改めて C言語入門受講後を前提で C++ 言語入門を作成されてはどうでしょう?
この動画すごい〜
4年越しに参照の意味がわかりました!
3:05:19のところ要素数に定数を求められてエラーになるんですけど何でですか?VS2022です
「'アドレス'の"その先"」の自分なりの解釈だけど
例えば「'○○マンション××号室'に居る"△△さん"」
ってことでいいのかな
分厚い壁の声の届かない部屋に住んでる△△さんと接触するためには*ポインタ(ピンポン)を使わないといけないみたいな?
ありがとうございました。
1:03:40 ここって、単位はバイトではなくビットじゃないんですか?1キロバイトではなく、1バイトになるはずでは
構造体を作る際の、char nameの[ ]⇦ここに入れる数値は何でも良いのでしょうか?
4:42:47 なぜここでは64を入れているのでしょうか?
素人の質問ですみません。
お時間ありましたらお答えしていただきたいです。
今更ですまんがCのchar型は1文字1変数なので64文字まで入れるために[64]としています。ある程度大きければ大丈夫です。
5:45
13:40
18:49
cin 1:31:00
if 1:47:40
これとクラスの動画みたら二分探索木できるようになるかなぁ
なぜC++の動画なのにポインタのパートではCベースで説明をしているのですか。
1:56:27 本日ここまで
38:26 この実行の仕方ができないのですが
4:08:30 メモ用です
めも 2:23:37
3:04:35 のところ segmentation faultというエラーが出ました。どうしてですか?
全部C++だけで解説してほしい
3:37:12
オブジェクトとは何か説明してほしいです
16:58
「その先のモノ」という抽象表現について、動画の中では具体的に言及しておらず分かりづらさがあります。
実行アドレスみたいなもんやろ
2:12:10
2:47:57
まず1メモリ1ばいとよって8ビット
😁👍
C++の環境構築ってvisual studio使えば一発じゃない?
AWSに登録させたがってるのではないかと疑ってしまう。
Windows民以外の人もいるからじゃない?
Всем привет. Сам не знаю как сюда попал.
0:28 C++ 1983年、Smalltalk 1980年(1972年)。歴史を歪曲しちゃだめだよ。
9:44 粒度無茶苦茶。OSを利用する場合と利用しない場合では説明が変わるし、OSを利用することを前提であれば、メモリにプログラムロードとかレジスタがどうのとか基本気にしなくていいし。
11:44 かなり乱暴な説明、関数の中には機能が詰まっているわけではない。そんなことしたら一つの関数が馬鹿でなくなる。
13:56 嘘。それは宣言と定義だけ。実際にはリンク工程時に機能を提供しているオブジェクトと結合する。
そうしないとコンパイルが恐ろしく時間がかかる。
聞いていて頭が痛くなった。
そんなに知ってるのになんで入門動画見に来たの?
@@バンタン-t9m たまたま、お勧めに出てきたので試しに見たら、突っ込みどころ満載でした。この内容をそのまま鵜呑みにしてはいけないよということで、コメントしました。
:0
c++ほど難解な言語も無い
ふつーに書くと「このコードcとどこが違うの?」で駄目出し
classは関数じゃない、オブジェクトだ、・・・ここがねぇ
javaなら息をするより自然にオブジェクト
c++はオブジェクト、オブジェクトと唱えながら設計しないとただのc
個人的にはc++で書くならcの方がずっと生産性高いと思ってる
ほんとメリット無い
オブジェクトという概念を理解する教材の意味しか無かった
それにしたってHyperCardの方が遙かに優秀、消えちゃったけどさ
大学ではモバエックスターム使って「g++ -std=c++17 ○○.cpp」→「./a.exe」で習ってるんだけど実行出来れば何でも大丈夫?
めっちゃ分かりやすくて助かります!
ぜひPythonの動画も作って下さい👏
ありがとうございます!
とんでもございません、こんな大金をわざわざすみません!
本当にありがとうございます🙇♂️(書籍代に使わせていただきます!)
10:56