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

レス数が900を超えています。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/14(日) 03:01:38.31ID:k9aaiAZC
>>828
exp って pow よりどの程度速いの?
2020/06/14(日) 06:59:24.45ID:fieD7Z6G
powは内部的にはexp(log(a)*b)
当然環境次第だけど
おおよそ半分くらいかな

もちろんlog(a)のテーブル検索に時間がかかるようだと
素直にpowを使う

>>828
powがパフォーマンスに影響を与えているという前提のチューニングの話で
ほとんどの場合はそんな事はないので
ほとんどの場合はそのままpowを使うべき
2020/06/14(日) 21:26:39.30ID:csFQf9Gf
y = a * pow(x, 3.0) + b * pow(x, 2.0) + c * x + d;
って糞コードを見たことがある
842デフォルトの名無しさん
垢版 |
2020/06/14(日) 22:50:07.68ID:OziIXX0s
そりゃ^演算子が使えないからクソコードに見える
2020/06/14(日) 23:22:02.66ID:9pT3ELpf
**「…」
2020/06/14(日) 23:59:21.22ID:kf4Cc+ef
^は使えるだろ
2020/06/15(月) 00:27:20.94ID:y+ohQOA8
速度、精度、見やすさ、コードサイズ、ライブラリ使用
全ての面で糞コード

pow(x,y)が電源ボタンxをy回押す
という別の関数だということは無いとして
2020/06/15(月) 00:32:18.14ID:xMj5gyYr
こうか?
y = ((a * x + b) * x + c) * x + d;
2020/06/15(月) 06:03:37.82ID:6Rk/ljNV
元の数学的な式を素直にコードに落とし込んだ感じはあるけどな。
「xの3乗」を「pow(x, 3.0)」と「x * x * x」との
どちらで書くのを自然に感じるかという話だが。
2020/06/15(月) 11:50:24.26ID:6B2IPoD1
クリティカルでないものならどう表記しようが別にどうでもいいがな
1億回計算したところで時間差は感じないだろうよ

んなことよりべき乗扱う上で大事なのは桁あふれと有効桁数の処理
必要精度のはっきり定義された科学計算用のライブラリ使ったほうがマシ
2020/06/15(月) 12:09:05.38ID:XCtiekxI
精度的には加減乗算の方がはっきりしてる
普通は無限精度で求めた後に丸めたのと同じ値になる
つまり誤差最小
2020/06/15(月) 12:13:15.00ID:XCtiekxI
クリティカルじゃないという前提はどこから?
2020/06/15(月) 12:16:59.98ID:6B2IPoD1
>>849
たとえばJIS規格に則った計算方法てのもある
測定値を足し合わせるだけでも±有効桁/2を混ぜ込まなきゃならなかったり計算ごとに有効桁に丸めこまなきゃならなかったり
乗算の場合は有効桁を減らしたりとかまあいろいろ

無限精度で計算して最後に丸め込んだら×もらう仕組みになってたりする
2020/06/15(月) 12:20:31.42ID:XCtiekxI
精度的にpowを使うことで解決することなど無いと思うが
2020/06/15(月) 12:21:16.29ID:XCtiekxI
>>841の件
2020/06/15(月) 12:27:23.16ID:XCtiekxI
powはライブラリや環境で結果が違う
2020/06/15(月) 12:44:31.65ID:O39kdlr3
ポォーゥふみっドカンッ!
856デフォルトの名無しさん
垢版 |
2020/06/15(月) 13:24:20.56ID:iqqqiJ5Y
>>841
y = ((a * x + b) * x + c) * x + d;
2020/06/15(月) 13:30:19.41ID:5rULqijg
いわゆるスパコンなんかだと式の変形してがんばらずとも pow そのままで速かったりするのかな?
2020/06/15(月) 19:10:25.34ID:aDRazGid
ホーナー法か
名前を思い出せなくて難儀した
859デフォルトの名無しさん
垢版 |
2020/06/16(火) 05:58:44.90ID:ehL8QS9+
c++使う理由ってなんですか?
2dゲームにおいてもc++が必要でしょうか?
2020/06/16(火) 06:19:28.37ID:JnjsQYAt
普通の2dゲーム作るぐらいならluaとかでいいよ
861デフォルトの名無しさん
垢版 |
2020/06/16(火) 06:29:18.93ID:ehL8QS9+
ゲームと言うよりゲームエンジンでした
すみません
テクスチャの描写にすらC++は必要なのかなと
ポリゴンならもちろnC++一択でしょうけど
2020/06/16(火) 06:41:12.27ID:MpRAah0t
必要=必ず要る
という意味なら答えは分かってそうな気がするが
別の意味ならもっと日本語をうまく使った方が良い
2020/06/16(火) 06:57:03.76ID:5RaFaaPW
基幹部分の話ならC++使わずにCで書くって方向性もあるかも。
864デフォルトの名無しさん
垢版 |
2020/06/16(火) 07:13:44.64ID:ehL8QS9+
可能かどうかで言えばテクスチャの描写はすべての言語でできると思います
ただRPGメーカーやウルフエディタはC++です
ここに理由はあるのかなと疑問に感じました

2dでもopenglなどを使うのですか?
2020/06/16(火) 07:26:08.75ID:JnjsQYAt
奥の方では2dでも使ってるよ
今どきのコンピュータならインタプリタでも速度は足りるけどc++を使うのはまあそれが一般的で資産があるからだと思うよ
2020/06/16(火) 07:32:04.70ID:Z1WD1bfY
足りるかどうかなんて処理次第
2020/06/16(火) 07:37:01.12ID:1BidYCqI
GUIのOS画面「🐴🦌🦋」
CUIのOS画面「AAA」
2020/06/16(火) 08:00:15.69ID:TW5yPVrb
ライフゲーム「•|•/•-•\•|•/•-•\」
7行テトリス
7行オセロ
10行ぷよぷよ
はじめてのゲームプログラム「荷物君」
2020/06/16(火) 08:42:43.37ID:6qjQ65l0
>>867
絵文字に猪って無いんだっけ?
2020/06/16(火) 09:08:39.67ID:6qjQ65l0
>>864
RPGメーカーもウルフエディタもさわったこと無いけど、RPGツクールみたいなものでしゅ。つまりただの2Dゲームではなく、ユーザが作成した(場合によっては膨大な大きさの)データを編集するツールと、そのデータを読み込んで処理しながら2D RPGとして動かすプレイヤ(仮想ゲーム機)のセットみたいなもの。
ただの2Dの描画ならマシン性能は大して求められないけど、膨大なデータを効率的に保持して動的な変更に耐えうるような仕組みを作るなら、処理速度が速くメモリ効率も良いC++を使うメリットはあると思う。特にスイッチや変数、イベントなどをユーザが定義して処理するなら、処理速度が遅いとかなり厳しいと思う。

で、結論を言えば、マップエディタが作りたいだけならわざわざ学習コストの高いC++に手を出して挫折する可能性を高める必要はない。他の使いやすい言語やフレームワークを使っとけ。
2020/06/16(火) 09:09:25.61ID:eN791Gfm
>>869
>>859> 2dゲームにおいてもc++が必要でしょうか?
C++をディスってるのが分からな🐗?
2020/06/16(火) 09:09:27.93ID:JnjsQYAt
でしゅ
かわいい
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%コピペマンになり業務では使えない
レス数が900を超えています。1000を超えると表示できなくなるよ。