【初心者歓迎】C/C++室 Ver.105【環境依存OK】

レス数が950を超えています。1000を超えると書き込みができなくなります。
2019/04/25(木) 06:54:38.08ID:6xUIrXDu
エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります

コードを貼れる所
http://codepad.org/
https://ideone.com/

前スレ
【初心者歓迎】C/C++室 Ver.104【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1545944692/
2020/06/16(火) 09:21:01.68ID:TBO9MSyh
> テクスチャの描写にすら
すら?
2020/06/16(火) 09:22:41.63ID:6qjQ65l0
>>872
おお、またやってしまった。
以前会社の上司にも似たような誤字を送ったことがある。いまだにスマホのフリック入力は慣れない...
875デフォルトの名無しさん
垢版 |
2020/06/16(火) 09:25:37.05ID:ehL8QS9+
>>870
何の言語が適切でしょうか
2020/06/16(火) 10:11:49.65ID:ZzQUhJK1
Unityスレにもいた人だけどなんでこんな少ない情報で最適な言語を求めるんだろうか?
別にC++でもC#でもjsでも実現可能だし、大差ないと思うけど
COBOLとかならやめとけって言えるけど
877デフォルトの名無しさん
垢版 |
2020/06/16(火) 10:50:58.86ID:ehL8QS9+
答えというか、一般論を知りたいです
例えばエレクトロンでピクセルの操作は出来ますか?
2020/06/16(火) 11:13:05.91ID:zfRgO9so
一般論なら、Unity

他には、Electron, React Native

サーバー側が、Ruby なら、Rails もある。
ただし、GUI は、HTML, CSS/SASS, JavaScript になる
879デフォルトの名無しさん
垢版 |
2020/06/16(火) 11:14:52.80ID:ehL8QS9+
ゲームではなく、タイルエディタでもunityという選択なんですか?
2020/06/16(火) 11:21:02.46ID:ZzQUhJK1
一般論なら使い慣れた言語でいいんじゃね?程度だと思うよ
実現したい機能の実装が不可能で無い限り関係ない
利用者の多い言語のほうがフレームワークやライブラリの面で開発は楽になるかもしれない

electronは言語ではなくフレームワークだけどなんで言語と比較してるの?
electronの質問は該当スレへ
今の質問もスレからずれてると思うけど
881デフォルトの名無しさん
垢版 |
2020/06/16(火) 11:26:32.29ID:ehL8QS9+
すみません。
既存のエディタがなぜc++なのか知りたかったのです。
2020/06/16(火) 11:52:06.13ID:ZzQUhJK1
いや、unityスレでも言われてたけど作った人に聞け以外に答えは無いよ
ウルフエディタを触ったことは無いがやってることはC++でもC#でもjavaでもできるはず
他言語は俺じゃわからんが画像を任意座標へ表示するようなことができる仕組みさえあれば大抵のことはできるだろう
2020/06/16(火) 11:55:46.30ID:HRUNOXRJ
初学者なら兎も角、熟練者が少人数で使う分には言語による開発効率の差なんて大差ない
手足となるライブラリが一通り揃って使い方知っていれば、c++だろうがサクッと作れる
884デフォルトの名無しさん
垢版 |
2020/06/16(火) 12:27:02.09ID:ehL8QS9+
ごめんなさい
じゃあpyqtでやります
比較的pythonに慣れているので
2020/06/16(火) 12:35:45.68ID:zfRgO9so
そもそも、Tiled Map Editor を使うから、作るのは無駄だと思うが
2020/06/16(火) 18:18:34.27ID:zj4kqDkW
>>882
>任意座標へ表示

ここでポインターが便利ってことになるんだよな
線引いたり塗りつぶしたりといったプリミティブなことを自分でやるならポインター使えなきゃやってられない
ここまでくるとアセンブラの威力まざまざと見せつけられるわけだけども次点でC/C++
887デフォルトの名無しさん
垢版 |
2020/06/23(火) 21:41:19.55ID:zFVhfcF5
競技プログラミング始めたいんだけど、どうやってcpp勉強すれば良い?
Cはある程度わかるからcpp特有の文法を勉強したい
変数みたいなのに>>みたいなのいっぱいついてて何がなんだかわからん
2020/06/23(火) 22:27:25.31ID:FqDmWE10
演算子に特に意味はない
擬装出来るからな
2020/06/23(火) 22:41:51.81ID:Oi2DUy0P
とりあえず解いて他人の回答をみる
知らない内容があればググる
これの繰り返し
2020/06/23(火) 23:01:01.90ID:NciFLwYZ
>>887
普通に本屋で入門書買ってきてやればいいだろう。
それとC++をcppと呼ぶのはやめれ。
891デフォルトの名無しさん
垢版 |
2020/06/24(水) 10:48:10.17ID:6+kkBVmV
>>887
細部を観る前にまずオブジェクト指向を理解するべき
2020/06/24(水) 18:20:23.25ID:amytSPrH
競技プログラムでまずオブジェクト指向?
順番が違う気がする
2020/06/25(木) 00:55:35.66ID:Dxq2c9AW
あくまで競技プログラミングありきで C++ を導入したいってことならオブジェクト指向の考え方はそれほどいらんわな。
ただ、競技プログラミングで書かれてる C++ のコードってかなり汚いのばかりなので、
そこに特化しちゃうのはあまりオススメしないよ。
頻繁というほどではないが using int = long long; くらいのクソはちょいちょい見かける。

まともな書き方をわかった上で割り切り方を考えるとか、言語のトリッキーな部分に踏み込んでみるとか、
逆に言語はどうでもよくてアルゴリズムだけが大事とか考えてるなら競技プログラミングでスタートするのもありかもしれんが、
ちょっと C に毛の生えたくらいの C++ で競技プログラミングを始めると変なクセが付いちゃう。
2020/06/25(木) 00:56:50.75ID:Dxq2c9AW
おっと using int = long long; は出来ないな。
#define int long long の間違い。
2020/06/25(木) 07:59:46.82ID:XUZZkb7Y
競技プログラムに特化
いいじゃない

何からはじめても
どうせ将来業務や集団でコーディングすることになったら
文法以外に色々と勉強しなきゃならん
896デフォルトの名無しさん
垢版 |
2020/06/25(木) 11:07:09.88ID:2XRewe5U
どうせ勉強するならへんな癖ついて手遅れになる前に
初めてやるときからオブジェクト指向やっとけって話だろ
急がば回れ
2020/06/25(木) 12:58:11.49ID:yb+enRFi
クローズドな場所でレースがしたいって人に
まず道路交通法を学べっていう感じ

トンチンカン
2020/06/25(木) 13:34:16.40ID:RBMnjR2N
いや道路交通法っていうよりサイドブレーキの使い方とか駐車の仕方って感じじゃね
2020/06/25(木) 19:06:16.39ID:TznTPNyN
レースでサイドブレーキ使わないの?
900デフォルトの名無しさん
垢版 |
2020/06/26(金) 13:00:51.86ID:PjbtVFt+
愚者は経験に学ぶ
賢者は歴史に学ぶ
2020/06/26(金) 13:01:38.24ID:bhcA+daA
俺は両方から学ぶわ
902デフォルトの名無しさん
垢版 |
2020/06/26(金) 17:38:59.84ID:twdaurbq
賢者と愚者から学ぶのか
2020/06/27(土) 03:32:14.85ID:W+OG+j+5
違う賢者と歴史に教えを請うのだ
2020/06/27(土) 03:53:16.94ID:5JNhQ0LT
>>900
誰の言葉なんでしょうか?大概は誰(チャーチルとかルーズベルトとか)という情報とセットで引用されるものなんですが、この言葉はそういうのがあまりないのはどうしてなんでしょうか?
2020/06/27(土) 07:12:11.81ID:cFqQOOIi
>>904
普通にググって出て来るけど?ほんまかどうかは知らん

https:/www.firstlogic.co.jp/blog/lab/aizawa/6243
>
「愚者は経験に学び、賢者は歴史に学ぶ」
鉄血宰相と呼ばれたオットー・フォン・ビスマルク(1815年−1898年)の言葉です。
2020/06/27(土) 07:29:38.76ID:QI4OAUXK
ちょいちょいC++関連スレで見かけるけど、実際に書いたり経験したりもしてない聞きかじりの知識で
マウント取りたいだけ、ってのを正当化するために使われてる気がする
2020/06/27(土) 07:46:50.62ID:bIAfLa6c
まあITなんて歴史が浅いものは他人の経験が歴史みたいなもんやし
2020/06/27(土) 08:15:09.50ID:TsX0h7IG
そもそも>>900が間違ってる
賢者は色々な事から学ぶ
2020/06/27(土) 08:16:30.59ID:TsX0h7IG
学んだ事を盲信せず更新し続ける
2020/06/27(土) 08:18:40.93ID:TsX0h7IG
歴史から学ぶとは要するにパクり
これだけで新技術なんか生まれない
2020/06/27(土) 08:23:27.23ID:wwwZDyDi
文系がプログラミング ば読書だけじゃみにづがね゛
2020/06/27(土) 08:31:20.77ID:4VTCzLtL
>>901の言うようにどっちも大事ってことやな
2020/06/27(土) 08:59:57.53ID:DRe2glKb
つーかこの手の格言て日本語の意訳が過ぎるせいで
元の意味が失なわれてる事がちょいちょいあるけど
この「愚者は経験に・・」もそれで元のビスマルクの文言の意味はまんま >>907 の意味で
要するに「自分の経験のみで考えずに常に他者の経験を見聞きしてそこから学べ」という
意味だった
この他者の経験の集合の事を「歴史」なんつーて壮大な単語に集約しちゃったせいで
なんか「経験論で判断したらあかん、歴史書にあるような高尚な理論を学べ」
みたいな話になっちゃってるっていう
2020/06/27(土) 09:35:19.65ID:TsX0h7IG
ああやっぱり
そんなことだろうと思った

ムーアの法則もそんな感じ
違う意味で使われてしまった例
2020/06/27(土) 09:35:38.13ID:tKkUIu86
>>907
いやいやそれこそまさに"歴史"だろ
2020/06/27(土) 09:35:39.20ID:Fil4ka9J
賢者が歴史「だけ」から学ぶと思ってる>>908-910ってw
2020/06/27(土) 09:44:14.10ID:TsX0h7IG
>>900
愚者は経験を含めた色々な事から学ぶ
なんて文ではないだろ
2020/06/27(土) 09:46:02.66ID:TsX0h7IG
>>900を見て違和感が無いなら
プログラミングに向いてない
2020/06/27(土) 09:52:27.76ID:TsX0h7IG
経験が無い言い訳をするために
偉い人の言葉を変造して使う

経験の無い文系にありがちなこと
2020/06/27(土) 09:54:04.58ID:twDHZDh4
>>913
意訳が悪いというより、金言を字面通りにしか解釈できない奴が増えた(もしくは元から多い)ということが問題なんでないの?
例えば>>917みたいに。

>>900の意味を考えたら、愚者は「自分自身の」経験だけから学ぶのに対し、賢者は歴史というこれまでの多数の人間による経験の積み重ねからも学ぶという対比であることは分かりそうなものなのに、字面通りにしか受け取らない。

だから>>910みたいな頓珍漢なことも言い出す。
新たな技術を産み出すのは過去の積み重ねの上に、それをさらに発展させたり新たな発想などが必要になるだろうけど、この金言は別に学ぶことだけしていろと言う話をしているわけではない。ただ学ぶ対象は広い方が良いという話をしているだけなのに、何でわざわざ>>910のようなことを言い出すのだろう。
2020/06/27(土) 10:01:34.50ID:wwwZDyDi
#include <stdio.history>

const 自動運転車 = require('運転経験');

import 数学史
2020/06/27(土) 10:59:13.05ID:3D9ce/Tt
>>921
言語捏造すんなやゴミが
2020/06/27(土) 11:10:43.60ID:05T2q1jf
>>920
誰が読んでもわかる文章にするべきだろう
小説じゃないんだから
2020/06/27(土) 11:43:34.76ID:iSXUJw2h
>>922
クエっクエっクエっチョコボー〜ル〜
921>gcc a.c
stdio.history: No such file or directory
925デフォルトの名無しさん
垢版 |
2020/06/27(土) 11:46:58.91ID:h6eax6A3
名言・格言・故事成語は枝葉や細部を切り捨てた理想的な空間だろ
その場その場に合わせたすっからカンのいいくるめだ
だから欧州も誰が言ったかに矢鱈と拘る

こういうのはマジで作り話で都合のいいことしか書いてない
虚偽のお話を信じさせられてるんだから虚構と現実のズレが生じる
2020/06/27(土) 11:51:17.17ID:tKkUIu86
>>923
バカ向けに要約するね。

ID:TsX0h7IG は低能
2020/06/27(土) 13:49:21.23ID:TsX0h7IG
愚者は歴史に学ぶ
賢者は経験に学ぶ
928デフォルトの名無しさん
垢版 |
2020/06/27(土) 15:49:00.82ID:QSLeN3Uh
>>921
むしろ
----vc2019.h----
#include <vc2017.h>
----
----vc2017.h----
#include <vc2015.h>
----
----vc2015.h----
#include <vc2013.h>
----
----vc2013.h----
#include <vc2010.h>
----
みたいなものを想像した
2020/07/03(金) 09:37:34.50ID:DB1hQWD+
表紙に一休さんみたいな男が写った専門書を見つけたのだけど、買うのためらった
930デフォルトの名無しさん
垢版 |
2020/07/03(金) 11:41:58.59ID:OljhRJZm
UNIX公案なるものが存在するのでプログラミングを理解するには禅をやるのが早い
GEBでも公案の論理分解が行われてるくらいに当時のアメリカ西海岸では大麻と禅とLSDが流行った
2020/07/03(金) 14:32:59.27ID:/+uSoVK/
>>929
江添亮のC-入門?
https://i.imgur.com/TswaEc3.jpg
2020/07/03(金) 14:47:09.61ID:1r/HjE0m
フッw
933デフォルトの名無しさん
垢版 |
2020/07/03(金) 17:54:47.73ID:6268sYfp
これで安全靴でミリタリー服でうろついてたら職務質問される罠
934デフォルトの名無しさん
垢版 |
2020/07/05(日) 22:48:53.64ID:9WS3R3Fj
江添のやつはわかりにくくない?
2020/07/05(日) 22:58:40.95ID:UizTuhh+
>>934
私は好きです!
while (), do while (), for () をやる前に goto を導入し、「if () と goto があれば何でも出来る!」という潔さ!
936デフォルトの名無しさん
垢版 |
2020/07/05(日) 23:00:31.75ID:9WS3R3Fj
include省略されるとちょっと
937デフォルトの名無しさん
垢版 |
2020/07/06(月) 10:32:47.31ID:tZQ4aODX
include をおまじないと称してすっとばす解説は大抵糞
2020/07/06(月) 13:22:36.24ID:DnB56BCk
そういう解説で勉強したやつは100%コピペマンになり業務では使えない
2020/07/06(月) 14:32:37.87ID:kTgVemk4
大変だなバカって
2020/07/06(月) 14:41:13.52ID:gLHWFzBI
バカは楽だぞ
2020/07/06(月) 16:52:45.31ID:Js6m+wFY
俺はアセンブリから入ったタイプだからよりプリミティブな機能の
組み合わせとして理解するという方法論は結局のところわかりやすいというのはわかる。

でも展開形を意識してしまうようになると抽象化の感覚が育たないような気もしていて、
あらゆる意味で万能ってことはないので色んな本があることが大事なんだと思う。

江添亮のC++入門は継承すら取り扱わないレベルの入門という位置づけなので、
不足する分はより本格的な本を読む前提だろうし、まあこんなもんじゃないの。
2020/07/06(月) 18:43:53.42ID:X9mxW4kC
はちみつって何歳?
943デフォルトの名無しさん
垢版 |
2020/07/06(月) 19:04:52.45ID:Xx+iWxrn
結局どういう順序で勉強していけばいいんだろう
2020/07/06(月) 20:43:39.12ID:SSQMtz9B
>>943
一本道で過不足なく必要な物を順序通りに学べるような都合のいい方法なんてないから、ある程度は分からないものを保留して先に進んでから後戻りして理解したり、逆に順調に進んでると思ったら壁に突き当たって後戻りして不足部分を地固めし直してからまた先に進むなんてこともある。
それが当たり前だと思って最初は苦労するしかないと思うよ。ある程度なれてくれば、経験と勘で補いながら効率が上がっていくはず。
2020/07/06(月) 20:54:22.43ID:fLXZOc4N
二章からポインタの説明が始める入門書で勉強した。今思えば酷いサディスティック教本だったと思う。
タイトルが思い出せない…
2020/07/06(月) 21:27:01.83ID:YRpfyW1U
>>943
独習C++レベル、accelerated C++ レベル → C++98 STL本 レベル → 結城さんのデザパタを C++ に書き直す訓練 →C++11レイターを本格的に → テンプレートマジック本(今ここ) →積読している effective C++ とその兄弟たちはいつか読みたいものだ
2020/07/06(月) 21:41:28.85ID:P5id6Ara
do{...}while(0);
ってどんな気持ちで使うんでしたっけ?
2020/07/06(月) 21:42:15.58ID:P5id6Ara
#define HOGE(FUGA) do{...FUGA...}while(0)
だからdefineが重要なのかしら
2020/07/06(月) 22:03:03.03ID:KpksOV+E
goto否定原理主義者がbreakをgotoの代わりに使う
2020/07/06(月) 22:57:43.86ID:juxBVe1k
アナルに挿入しながら「まだ・・まだ本体には挿入していないっ!
だからこれはセックスではない!」とか言うのと似てるなそれ
2020/07/07(火) 01:49:20.66ID:tzlORGl2
>>945
C/C++ でポインタを避けて説明する (理解を試みる) 方がつらくない?
2020/07/07(火) 07:56:58.77ID:bJbvn87/
>>949-950
「大丈夫、パイプカットしてるから」みたいな感じかも。
break や continue を「去勢されたgoto」って喩えるじゃない。

if のネストが深くなるのは嫌だし、
関数からの早期returnも(デバッガで追うのが面倒になるので)ダメ、
goto なんかもっての外、という時に do {} while(0); でゴニョゴニョと。

で、コンパイラさんに「常に偽となる条件式です」とか警告されるの。
2020/07/07(火) 12:13:10.64ID:bEGKo5iM
>>951
はい、もちろん。
でもそれが2章でなくてもいいのかな、と。
出鼻くじく気満々やん、みたいな
2020/07/07(火) 13:48:51.21ID:tzlORGl2
>>953
選択肢があることが大事なんだって。

C の理屈だとビットパターンが並んだメモリ空間が広がっていてそこにオブジェクトを配置していくというモデルだから
ポインタを通してそこらを理解させるというのもひとつのやり方としてアリでしょ。
きちんとした理屈を後出しされると「先に言えや!」って気持ちになる人は少なくないと思う。
2020/07/07(火) 19:09:26.79ID:v3ijliVb
ポインターの何がそんなに難しいと感じるのかわからん
コンピューターの処理なんてアドレス操作ばっかりじゃん

コンピューターの仕組みがわかってないからなのかな?
ならば言語学ぶ前にコンピューターの仕組みを学ぶのが先じゃね?
956デフォルトの名無しさん
垢版 |
2020/07/07(火) 19:39:25.64ID:aaXFzUCt
テスト問題にはポインタパズルとでもいうべきゴミみたいな問題が多いからね
わざわざ難しくして間違えるように幾重にも罠を張ったヤツ
そういうのでポインタ嫌いが増える
2020/07/07(火) 21:02:20.63ID:yByKJQAn
サイズ100を100個用意するより
サイズ10000を1個用意してアドレス割り振るとか好き
ポインタ変数分サイズ増えるのは目をつむる確保速度重視
2020/07/07(火) 21:28:33.53ID:7uEBIb8C
>>945
私は ** を使うくらいなら *& の方がマシだと思っているのですが、 *& で書いた本はまったくないですね…
2020/07/07(火) 22:00:58.59ID:tzlORGl2
>>958
何をいいたいのかわかんないのでもうちょっとくやしく
2020/07/07(火) 22:12:29.39ID:TeF3RSyR
あんだけクズをバカにしてたのに、同じエディタを使ってたなんて!
2020/07/07(火) 22:17:27.53ID:4bY8cpqR
>>960
くやしいのうwwwww
2020/07/07(火) 23:10:29.18ID:7uEBIb8C
>>959
https://ideone.com/LnS5rf

>>945
こういうのも、やっぱりサドになりますか…
2020/07/07(火) 23:17:48.32ID:tzlORGl2
>>962
そういうデザインのプログラムがあっても不自然だとは思わないが、
初心者向けでポインタの説明をする段階という前提を置くと参照と混ぜて示すのは混乱の元ちゃう?
& という記号の多義性がアレなのが根本原因ではあるんだが……。
2020/07/07(火) 23:21:02.99ID:7uEBIb8C
>>963
>初心者向けでポインタの説明をする段階という前提を置くと参照と混ぜて示すのは混乱の元
そうかもしれませんね

>& という記号の多義性がアレなのが根本原因
まあ、そうですよね…
2020/07/08(水) 08:50:17.72ID:sJ2uy93A
>>947-948
同じ人からの連続投稿、ひとつの質問だと気づかなかった。

マクロの実体を do {...} while (0) で囲む定型については
「#define do whole false」でネット検索すると色々出てくる。
この場で説明するには少々分量が多いのだ。
966デフォルトの名無しさん
垢版 |
2020/07/08(水) 09:23:35.50ID:hADFKHgu
そのうち
#define HOGE(FUGA) do{...FUGA...}while(0);
と描いてしまって失敗する
967965
垢版 |
2020/07/08(水) 18:00:01.90ID:sJ2uy93A
あ、もちろん whole は誤り while で検索してくれ。

× 「#define do whole false」
○ 「#define do while false」
2020/07/09(木) 20:13:12.08ID:gJQJWBxs
テキストファイルに文字列を書き込みしたいのですが

ofstream ofs("test.txt",ios::ate | ios::in);
ofs << "hoge" << endl;

これだと動いているんですが
最後のendlを無くして"hoge"のみを書き込もうとすると動作しません
どういった理由なんでしょうか?
2020/07/09(木) 20:17:07.59ID:N+YU0rOq
flushしないと
2020/07/09(木) 20:22:54.18ID:2UhyUN9n
読み書きは時間がかかる処理だから、読み書きの前に、小さなデータは一時的にバッファという記憶域にまとめて
貯めておき(まあ、キャッシュと似たようなものだ)、改行などがあれば、押し流す(flush)という処理をする。
この場合はendlがflushの役割をする。
2020/07/09(木) 20:48:42.31ID:gJQJWBxs
>>969 >>970
理解できましたありがとうございます!
2020/07/11(土) 00:06:30.27ID:87hwO6K6
ポインタを初心者に完璧に理解させる方法分かったわ。
ポインタ=ショートカットアイコンと教えればいいんだ。

メモ帳に文字書いて保存して、ショートカットアイコン作って「これがポインタだよ」って言えばいい。
メモ帳の容量見てごらん?100kbでしょ?ショートカットアイコンの容量見てごらん?1kbしかないね。
ショートカット開いて。文章変えて。ほら1kbのデータで本体が変わった。これがポインタの仕組みだよ。

完璧
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況