イテレータを ++ で進めたり、比較演算子で終わりの判断をするため、かな。
つまり「ポインタとの互換性」か。
シンタクスとかセマンティクスとか、専門用語が出る部分だね。
あと、ドット演算子はオーバーロードできないでしょ。
0954デフォルトの名無しさん2019/02/20(水) 19:59:56.78ID:vIxNp1pR
std::next()って出来たけど、これは配列のアドレスと互換性を持たせるためかな。
std::advance()のように参照を渡すのがダメだとすると、戻り値で何かを返す場合、イテレータを返せなくなるので、どういう設計にしたらいいのだろ。
0955デフォルトの名無しさん2019/02/20(水) 20:19:38.87ID:sr7oPl81
0956デフォルトの名無しさん2019/02/20(水) 22:16:30.19ID:QUf2KVgt
#include <chrono>
namespace user {
using std::chrono::operator""ms;
};
上の場合msというユーザー定義リテラルをuser名前空間内に定義した扱いになる?
multimapである値に対応する全てのキーを列挙するのってどうやるの?
0959デフォルトの名無しさん2019/02/20(水) 23:07:04.44ID:QUf2KVgt
std::multimap<int, double> m;
m.insert({ 1, 2.0 });
m.insert({ 2, 2.0 });
m.insert({ 3, 2.0 });
m.insert({ 4, 2.0 });
m.insert({ 5, 2.0 });
//C++17
for (auto [key, value] : m){
std::cout << key << ": " << value << std::endl;
}
//C++11
for (auto&& p: m){
std::cout << p.first << ": " << p.second << std::endl;
}
上のコードで全要素参照できるから、valueかp.secondの値を比較すれば?
>>959
毎回全要素にアクセスするべきなのですね
分かりました 0962デフォルトの名無しさん2019/02/21(木) 08:23:36.74ID:9OrJvQb/
>>884
楽なC#を使わないでC++を使い続けるのは馬鹿にみえる。それと同じだろうな。
Cを使わないでASMを使い続けるのも同じ。
C++を使わないでCを使うのも同じ。
まあでもそれなりにターゲットによってはそれを使わざるを得ない場合がある。
マイコンの場合はASMが基本だがCでも書けるようになってきた。殆ど
の場合はCでも書ける。しかし条件付きではあるがC++でも書けるようになってきた。
ただスピードも遅いメモリも少ないマイコンでは便利だからといってもvectorやstringは
あまり使わない方がいい。使う場合でも節度をわきまえて使わないとね。
馬鹿なんて言葉も使うには節度がいる。でないと単なる馬鹿にしか見えない。 マイコンをどう使うのかわからんが
定期的にリセットできるならともかく、
C++のようにオブジェクトの生成消滅繰り返すなんて言語道断だからな。
マウンティング用パワーワードが「ものによる」
コレ言う奴は大抵ばか
C#はCとは全く異なる言語だと思うな。似ても似つかない。
0969デフォルトの名無しさん2019/02/21(木) 18:27:00.81ID:giZIG96n
単価半額以下の屑言語。
悔しかったらデバドラ書いて売ってこい
C#に一番近い言語は、VBかも知れない。
VBは馬鹿にされるので、名前がCに近くなって喜んでいる人がいる気はするが。
Cの影響を受けているという意味では現役の言語のほとんどが影響を受けているのでみんなCの子孫
PostScript 「せやな」
APL「せやせや」
>>962
ちょっと違うんだよな
vectorやstringは普通にC++でプログラムできる環境なら使って問題ないだろ。。
でも、アルゴリズムを明示したいとかあるのよ。
DSPでアセンブラでコーディングさせる外注さんに手渡す仕様書としてCでコーディングして渡すとかね。
レジスタ を short r0,r1,r2;とかおいて、そのDSPの構造真似たりして。
C++のライブラリなんか使ってしまうと肝心なアルゴリズムが見えなくなってしまう。 >>972
経緯からするとJavaから阻害されてC#立ち上げたけど、
たしかに書いてるとBasic臭がするよなぷんぷんと、VBはあんま詳しくないけど、
はじめて言語に触れたN88 Basic臭がツーンと脳裏のそこから蘇ったわ。思い出したくないヤーな感じ。
でもポインタ使えるのは確実にPost C
間接アドレッシング可能な言語はCの後継とみなしていいでしょ。 >>976
> vectorやstringは普通にC++でプログラムできる環境なら使って問題ないだろ。。
C++は使うがvectorやstringはヒープ使うからNGの業界余裕であるから
というかこういうことに無頓着なやつはそれこそC#がお似合いだよ 普通の環境じゃねえだろカス
マウント取りたいがために文盲になるなよゴミ
競技プログラミングも時間制約あるから
バカみたいに動的確保、解放繰り返したらアウトになるよ
まぁどのみち趣味の領域だからご自由にだけど
質問なのですがスコープを抜けたら自動的にリソースを解放するクラスを作りたいのですが、
スマポ(メモリの解放)ならともかく解放がエラーになる可能性がある場合(ファイルのクローズとか)は
どう書けば良い
の?
>>984
ならねえよ
適切なアルゴリズムであればどんな言語でも時間内に終わるように設定されているから >>981
ラウンドロビン型 & ガベコレ 持ってるOS環境だ
今時raspi程度のハードであればこの環境を期待できる。
RTOSやOSレスなどハードの一部として動作させたいアプリケーションならさにあらず。
業界で判断する話じゃなくアプリケーション内容で判断する内容だろがよゴミ いや正解とか難易度が謎設定な競技プログラミングもあるから…
Top Coder Openとか…
Quora には、C, C++, JavaScript, Java, Python, Web Development の
板はあっても、C#の板は無いらしい。
本場では C#に人気が無いのか。
>>977
C#は、N88-BASICより、Visual Basic 臭がする。
前者は PC-8801 時代には人気が有った。PC-9801 時代には余りなくなったが、
PC-9801 版の N88-BASIC は「雰囲気」が違っていて、実は MS 製ではなく、
NEC製になってしまっていたからかもしれない。 C#もVBも.NETが前提だから、.NETを使う以上はどれも方言みたいなもんだろ
0994デフォルトの名無しさん2019/02/22(金) 01:38:49.66ID:W4Z6mzSx
考えてみれば、.NET の仮想コードは、BASIC時代に「中間言語」と呼ばれていた
ものと全く同じといっても過言ではないと思えてきたりする。つまり、C#自体が
BASICを変に拡張して使いにくくしてしまった変態言語に他ならない。
今時、中間言語なしは少数派じゃないかという雰囲気があるが
>>985
あのな、OSにしろWebブラウザにしろお前が普段普通にやってるような雑な作り許されないから
今時c++使ってるとこってそういう限界せめる領域
趣味ならご自由に、二度目 よく探すと、Quora にも C# 板があり、
C++ 758.3K followers
C# 276K followers
となっているようだ。C# は C++ の 1/3 の人気しか無いらしい。
>BASICを変に拡張して使いにくくしてしまった
wwwwwwwwwww
>>996
????
俺が使ってるPCやスマホでも様々な用途で山のようにC++で書かれたソフトウェアが走ってるんだが???
お前のとことではOSやブラウザでしか使われてないのか不思議だな goto 文は行番号と相性が良くて、当時、実はスパゲッティーになってなかったな。
構造化命令を使わなくても、行番号のおかげで見やすかった。
10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 39日 20時間 5分 39秒
10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php