C++相談室 part136
■ このスレッドは過去ログ倉庫に格納されています
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part135
https://mevius.5ch.net/test/read.cgi/tech/1522495206/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
---- テンプレ ここまで ---- C++解ると豪語していた人が後日茂みで戉だらけの死体で発見される例が後を絶ちません
C++解るは何か宗教的禁忌の呪詛なのだと思います 青い鳥に「C++を完全に理解した」と語りかけると
もれなく狂人が群がってきて引き裂かれます 構文、ライブラリ、パラダイム毎のテクニック、イディオムの一部を覚えて解った気になるなはどの言語でも同じね >>12
おお凄いですね!
初学者が手をつけるといい分野を教えてください C++完全理解ってすげー
入門本ですら辞書の様に分厚いのに 最近は規格を完全に満たしたコンパイラって存在するの? C++11は結構「満を持して」って感じだったけど、その後14だ17だとアップデートサイクルが
短くなるならCfrontに回帰してもらった方がハッピーな気がしてきた。
今のC++で技術的にどのくらいしんどいのかはわからないけど、TypeScriptやBabelなんかの
JS界隈でうまくいってるエコシステムがうらやましい。 >>21
> JS界隈でうまくいってるエコシステムがうらやましい。
それはお前がJSを知らず、隣の芝が青く見えるだけ。
あれは完全に屋上架屋で糞だ。C++のノリで動くと思ったら大間違い。 ラムダとか型推論とか
やわらか言語のお遊びだと思ってたのにいまじゃこの有り様だよ コンパイラを駆動するためのプログラミングと、実行可能形式を駆動するためのプログラミングを一度にできる、一粒で二度おいしい言語がC++である。
つまり、ビールとワインを混ぜたらとてもまずかったというお話。 >>22
?
TypeScriptもBabelも普通に使ってるけど?
それがうまくいってるのを見てるからこそC++もそうできたらいいと思ったんだが。
まぁ、コンパイルに時間がかかるのとデバッグがちょっと隔靴掻痒気味ってのはある。 >>21
つーかC++11って、みんなもう待ちくたびれて
C++0xという期限も守れなくて、
一部でC++オワコン?とか言い出してる雰囲気の中、
ああ、やっぱりあるのかという復活祭的なもんだったろ >>25
C++にそれらがないのは、C++にはそれらが必要とされてないからだよ。
要するに全てはJavaScriptが糞すぎるから始まったことでしかない。
それがいいと思うのも自由だが。 >>27
何を言うか!
Javascriptが最強の完成された言語だからこそ、Typescriptが誕生できたんじゃないか!!! C++がこっち方向→に糞だとすると、Javascriptは←あっち方向に糞。 >>25
要するに、自分が慣れている環境を持ち込みたいだけだろ。
ならJavaScript流に言えば、お前が作れ、でしかないだろ。
ご自由にOSSにすればいい。誰も使わないと思うけど。 歯糞耳糞を笑うというが、本物のウンコには誰も勝てなかったというお話。 >>26
結構印象が違うもんだね。
C++03が失敗気味でオワコン視された雰囲気はわかるけど、だからこそ次は失敗できない
C++11はそれなりの完成度になったと思うんだが。逆に14や17は蛇足気味のような。 しかしJavascriptとC++を完全に理解した俺が最強ってことだろうな。 >>33
>C++03が失敗気味でオワコン
え…それは本当ですか?
C++03 で生きていこうと思っていたんですが… >>33
いや14は重要なバグ直しでautoが安心して使えるようになったし
17はfilesystemやstring_viewにexecution(これすげー)が入って名実共にメジャー
やっぱC++03からの沈黙が異常すぎたんだよ >>36
常に最新を使えとまでは思わんが、さすがに C++11 は人権だと思うぞ。
C++14 や C++17 はユーザ視点では重要なものも含まれるとは思うが、
C++11 に間に合わなかったりミスがあったりしたのを補った、
マイナーアップデートという印象は有るな。 >>38
スマートポインタの恩恵は享受しようと思いますが、右辺値参照はよく理解できません… >>39
テンポラリ=constと短絡されていたが
実はそうではなかった
禿すらも気付くのが遅れた
それが&& キーワードclassは結局いらなかった
newは忌み子だった
禿がどういう方面で過ちを犯したか
何となく察することができるだろう newで帰ってくるのがunique_ptrにならねえかなあ >>39
えっ、それって重要な機能のひとつじゃね?
ライブラリは標準になくてもなんとかなるけど、
基礎的な機能で大事なトピックがてんこ盛りなのが C++11 でしょ。
最低でも
auto
decltype
constexpr
可変長引数テンプレート
あたりは無いとつらすぎるんですけど! >>38
> 常に最新を使えとまでは思わんが、さすがに C++11 は人権だと思うぞ。
そりゃ人に依るだろ。今でもCは現役なんだし。
>>43
ちなみに他言語を使わない理由は何だ?
おそらく君はインラインアセンブラとか全く使わない人だろ? C++17はDoxygenを凄いことにする。
ひどい奴だ。 std::unique_ptrはユニポと読むんだよな? >>44
> ちなみに他言語を使わない理由は何だ?
Scheme スレが私の巣だと思ってるくらいには Scheme 派なんだけど、
話題が少なくて暇だからこっちに出てきてる感じ。
> おそらく君はインラインアセンブラとか全く使わない人だろ?
使わないに越したことは無いというのが基本姿勢ではあるけど、使う必要があるので使うよ。
どういう意図で言ってんのかよくわかんないんだけど、
C++11 以降に加わった機能がスゲー大事という気持ちとこれらが何か関係あるの? 人は皆生まれながらにC++が好きだけど、その気持ちに気づくかどうかに違いが出るんだよね。 がしゃーん
がしゃーん
△ ¥ ▲
( C ++ C )
( )
/│ 肉 │\
< \___/ >
┃ ┃
= =
C++17だよ
自動で Doxygenを凄いことにしてくれる
ひどいやつだよ よく知らないのだけど、いったいC++17でDoxygenに何が起こるんだ・・・ >>47
俺はC++を使う利点は
・高位から低位まで同一言語でカバー出来る点
だと思っていて、逆に言えば、
高位でしか組まないのなら他高位言語を使った方がいいと思ってるんだよ。
だからC++の利点を生かす為には、
・高位の機能と低位の機能を混ぜて使う
=スマポもラムダもナマポもインラインアセンブラも 『同時に』 使う
事が必要で、逆に、このスレに巣くっているナマポ禁止な連中には若干懐疑的なんだよ。
それなら他言語の方が生産性が高いから。
必要ならその部分だけCのDLLにすれば済む話だし。
そして最近の新機能は高位向けの物が多いから、聞いてみたわけだ。
Schemeは知らんが、他高位言語を使っているのなら済まんかった。 >>51
高から低をカバーしてるのが良いというのは私もまったく同意見だよ。
だから、高から低をカバーと言っておきながら、高水準の部分は他言語に任せた方がいいというのはなんか矛盾してないか?
俺は「(現代の水準では) 足りてないからもっと (少なくとも C++11 で追加された分くらいは) 欲しいよな」って気持ちなわけ。 >>52
矛盾してない。
高水準の部分はC++は他言語に対して後れているから、
C++がそれを追加するのは妥当ではある。
ただ、俺なら他言語で組んで、CのDLLを呼ぶようにする。
それだと、他言語の進んでいる高水準機能を使えるから。
わざわざ遅れているC++に対して文句を言いながら使う意味がない。
例えば、C#がその作りになってるでしょ。
マーシャルがウザイか、C++の機能的周回遅れがウザイかってだけ。
勿論、インラインアセンブラを使いたいならC++しか解がない。
で、ナマポ禁止派はいったい何がしたいんだ?ってのが疑問で、
それだったら俺と同じでC#+CのDLLで良いじゃん、と思うわけ。 ナマポが本当に必要な所では存分に使えばいいと思うよ
ただし普通は99.9%くらいはそうじゃないからスマポを使え 99.9%がスマポなら、最初からスマポがデフォの言語を使った方が捗るでしょ。
Rustでもいいし、C#やJava等のGC言語でもいいし、PythonやRubyのようなスクリプト言語でもいい。
残り0.1%をマーシャルなりしてCのDLLで。 話をぶった切ってすんません。
複数のスレッドで
thread_local int* p;
p=new int [1000];
で確保したヒープ領域はやっぱりスレッドセーフ、じゃない、データ競合が
おきるんですか? >>53
まー、生ポインタは一箇所たりとも許さんってほどの原理主義は過激だとは思うよ。
俺も生ポインタを使わないことはないし、 goto を使うことだってあるし。
ただ、「低レイヤから高レイヤまでをひとつの言語の中で扱える」というのは
「高レイヤな機能で低レイヤを隠蔽可能だ」ということであって、
低レイヤを低レイヤのままで扱うスタイルを是とするものではない。
直接的な部分ではインラインアセンブラを使うことが有っても、
その上のレイヤに持ち上げるときには必ずスマートポインタを使えってくらいの主張なら真っ当だと思う。
C++ なんてそもそもがクソなんだから、
解決のために追加された機能は積極的に使わないとやっとれんわ。
(でも好き。) ■ このスレッドは過去ログ倉庫に格納されています