0からの、超初心者C++相談室
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2018/11/12(月) 14:55:13.35ID:Tf74ZWQr 何にも知らない0からの出発、超初心者のためのC++相談室
961はちみつ餃子 ◆8X2XSCHEME
2024/11/24(日) 12:09:51.87ID:3DfWckE7962はちみつ餃子 ◆8X2XSCHEME
2024/11/24(日) 12:55:51.06ID:3DfWckE7 >>960
switch の case ラベルに hash_code を使うという意味なら不可能。
case ラベルは定数 (定数式) であることを要求していて std::type_info::hash_code は constexpr が付いていないので結果は定数にならない。
コンパイル時計算するなんらかのハッシュ関数を用意すれば一応はなんとかならんでもないが……。
余興の類であって普通のテクニックとは言い難い。
そもそも std::any が不格好な仕組みなので std::any を使う以上は不格好になることを受け入れないと仕方がないと思う。
switch の case ラベルに hash_code を使うという意味なら不可能。
case ラベルは定数 (定数式) であることを要求していて std::type_info::hash_code は constexpr が付いていないので結果は定数にならない。
コンパイル時計算するなんらかのハッシュ関数を用意すれば一応はなんとかならんでもないが……。
余興の類であって普通のテクニックとは言い難い。
そもそも std::any が不格好な仕組みなので std::any を使う以上は不格好になることを受け入れないと仕方がないと思う。
9631
2024/12/14(土) 02:53:40.88ID:Bddn5MUb なに?プログラムって。むつかしそうだなー
ぜんぜん知らないんだけど、ちょっとやってみたいなー
ってな人も、入れてあげてね。
そういうスレなんだから。
ぜんぜん知らないんだけど、ちょっとやってみたいなー
ってな人も、入れてあげてね。
そういうスレなんだから。
964デフォルトの名無しさん
2024/12/14(土) 14:30:51.75ID:TQJHLK8K そうしたければお前がやるんだよ
他人に期待すんな
こっちは気が向いたら好きに回答するだけ
あと過度な自治厨は嫌われるからな
他人に期待すんな
こっちは気が向いたら好きに回答するだけ
あと過度な自治厨は嫌われるからな
965デフォルトの名無しさん
2024/12/16(月) 20:29:27.83ID:lHJTCZF8 人がいないからって、
お題を完全に無視して自分勝手
寄ってこようかとする何も知らない人は、
怖くて寄り付けないよ
お題を完全に無視して自分勝手
寄ってこようかとする何も知らない人は、
怖くて寄り付けないよ
966デフォルトの名無しさん
2024/12/26(木) 15:20:00.18ID:Max/6hcg 独習でc++の勉強しているのですがそろそろ終わり見えて来たんで終わる前に次の参考書ほしいのですがどんなのがいいのでしょうか?
現在の作りたいソフトがチューナーボードを利用したチャンネルスキャンや復調前の搬送波の保存をwinやLinuxで使える規格で作ってみたいと思っています。最終的にはそこから番組表とか自動構築できるところまでやってタイムシフトできるようにしてみたいと思ってます。
現在の作りたいソフトがチューナーボードを利用したチャンネルスキャンや復調前の搬送波の保存をwinやLinuxで使える規格で作ってみたいと思っています。最終的にはそこから番組表とか自動構築できるところまでやってタイムシフトできるようにしてみたいと思ってます。
967デフォルトの名無しさん
2024/12/26(木) 15:41:38.20ID:NWZL3CyL 基本わかったら作り始めたらいい
チューナーボードのsdkのマニュアル読め
最初は出来損ないでいいから完成させろ
チューナーボードのsdkのマニュアル読め
最初は出来損ないでいいから完成させろ
968デフォルトの名無しさん
2024/12/26(木) 22:37:43.96ID:Bko97FmB lower_bound x以上で最小
upper_bound xより上で最小
upper_bound - 1 x以下で最大
は記述がありましたが
lower_bound - 1をググってるのですが出てきません
多分x未満で最大だと思うのですがあってますか?
upper_bound xより上で最小
upper_bound - 1 x以下で最大
は記述がありましたが
lower_bound - 1をググってるのですが出てきません
多分x未満で最大だと思うのですがあってますか?
969デフォルトの名無しさん
2024/12/26(木) 23:19:55.33ID:/ipDVGme +
970デフォルトの名無しさん
2024/12/26(木) 23:49:39.69ID:ijj1Fuin >>968
サンプルコード書いて確かめなよ
サンプルコード書いて確かめなよ
971デフォルトの名無しさん
2024/12/27(金) 09:37:21.60ID:O2xssw1P >>967
sdkのマニュアルとかないボードみたいなんでテレビ視聴用のテストソフトコード見ながら自分が欲しいもの書いてみます。
ところでvisual studio使ったことないのでわからないのですがこのソフトの書き方、読み方しっかり学べる本ってないでしょうか?今までテキストエディタで書いてg++でやってたからビルドとテストがあるぐらいしかわかりません。
sdkのマニュアルとかないボードみたいなんでテレビ視聴用のテストソフトコード見ながら自分が欲しいもの書いてみます。
ところでvisual studio使ったことないのでわからないのですがこのソフトの書き方、読み方しっかり学べる本ってないでしょうか?今までテキストエディタで書いてg++でやってたからビルドとテストがあるぐらいしかわかりません。
972はちみつ餃子 ◆8X2XSCHEME
2024/12/27(金) 10:42:45.43ID:sDceJMaF973デフォルトの名無しさん
2025/02/25(火) 14:39:59.78ID:hnV+oLEs おちんちぇん
974デフォルトの名無しさん
2025/03/31(月) 15:48:05.05ID:5n9vvRfi だいぶ遅レスですまんが、VSはブレークポイント入れるとか実行とかの基本的な操作は昔から全く変わってないよ
自分は職場で教わった部分もあるからどの本がいいとかはわからん
自分は職場で教わった部分もあるからどの本がいいとかはわからん
975デフォルトの名無しさん
2025/04/11(金) 08:37:40.21ID:DDyd6LX4 え?お前らに聞くけどな人殺しとか前科者とかナマポとか精神障碍者とか
そういう社会的に終わってる奴が1日中何してるか考えたことある?
ない?ある?ない?どっち?え?ない?教えたるわ。ここや。こういう掲示板。
ありあまる時間を使って24時間悪口書いて文句垂れて世の中終わった終わった言うてる。
すでに終わってる奴が世の中終わってほしいから終わってる終わってる言うてるだけ。
気づけよ?お前ら。そろそろ。もう5ちゃんの平均年齢65歳ぐらいやぞ。
気付いてないのは団塊ジュニア。若者だらけと思ってるのは氷河期。
ゆとり以下は5ちゃんなんて見てないでもう。
しかも自分?もう文末にwとかwwwとか書くの古いで?
それ20年前の電車男の時代に流行ってた書き方な。
うはwwwおkとか、ちょっwwwとか、おまwwwとか
気でも狂ってるんかってぐらいに書かれてた暗黒時代な。
こんなんいまだに使ってるのお前だけやで。もう一回言うぞ?お前だけや。
気付けよ?いい加減。な!
あ?なに?このコピペ長文長い?お前が5ちゃんの2行3行レスしか読まない
人生を四半世紀(25年のことな)送ってて普通の文章読めんようになってるだけや!
わかったか?じゃあの!
そういう社会的に終わってる奴が1日中何してるか考えたことある?
ない?ある?ない?どっち?え?ない?教えたるわ。ここや。こういう掲示板。
ありあまる時間を使って24時間悪口書いて文句垂れて世の中終わった終わった言うてる。
すでに終わってる奴が世の中終わってほしいから終わってる終わってる言うてるだけ。
気づけよ?お前ら。そろそろ。もう5ちゃんの平均年齢65歳ぐらいやぞ。
気付いてないのは団塊ジュニア。若者だらけと思ってるのは氷河期。
ゆとり以下は5ちゃんなんて見てないでもう。
しかも自分?もう文末にwとかwwwとか書くの古いで?
それ20年前の電車男の時代に流行ってた書き方な。
うはwwwおkとか、ちょっwwwとか、おまwwwとか
気でも狂ってるんかってぐらいに書かれてた暗黒時代な。
こんなんいまだに使ってるのお前だけやで。もう一回言うぞ?お前だけや。
気付けよ?いい加減。な!
あ?なに?このコピペ長文長い?お前が5ちゃんの2行3行レスしか読まない
人生を四半世紀(25年のことな)送ってて普通の文章読めんようになってるだけや!
わかったか?じゃあの!
976デフォルトの名無しさん
2025/04/11(金) 13:09:16.48ID:/8vt7NNX っ鏡
977デフォルトの名無しさん
2025/04/18(金) 21:33:04.53ID:2tfOuRHs C++なんてやめとけ
仕事で仕方なく触るならお気の毒だが
趣味ならもっとモダンな言語にしとけ
仕事で仕方なく触るならお気の毒だが
趣味ならもっとモダンな言語にしとけ
978デフォルトの名無しさん
2025/04/19(土) 00:29:20.64ID:DSrU4IgO cppのあとc#やってみて思ったのは、cppはとにかくたくさん書く必要があるってこと。
979はちみつ餃子 ◆8X2XSCHEME
2025/04/19(土) 10:45:36.30ID:cJmAkIgz cpp は C preprocessor の略だよ。
980デフォルトの名無しさん
2025/04/19(土) 12:22:27.38ID:MUEmr0y1 初代のC++はpreprocessorだったんですねわかります
982はちみつ餃子 ◆8X2XSCHEME
2025/04/19(土) 18:46:21.80ID:cJmAkIgz984はちみつ餃子 ◆8X2XSCHEME
2025/04/19(土) 20:26:59.32ID:cJmAkIgz C++ と呼ぶようになってからの処理系 CFront もそれはそれで思想としては C コンパイラをジェネレータとして使う (移植性が高いから) というものであって言語としての解釈は CFront がやるし C は中間表現にすぎないからトランスレータと呼ぶのが適切かどうかは微妙なところ。
Clang のことを LLVM-IR へのトランスレータとは普通は言わないみたいな感じ。
いや、変換してるからトランスレータには違いないんだろうけどさ。
Clang のことを LLVM-IR へのトランスレータとは普通は言わないみたいな感じ。
いや、変換してるからトランスレータには違いないんだろうけどさ。
985デフォルトの名無しさん
2025/04/19(土) 20:34:02.90ID:Rs10e6Jw つまりNim最強ですねわかります
986デフォルトの名無しさん
2025/04/28(月) 09:51:37.89ID:PR6E6U1X C++で匿名クラスを使ってみたいのですが、試したところ
class {
public:
void print() { std::cout << "Hello!\n"; }
} obj;
obj.print()
は動きました。それならば
auto objp = new class {
public:
void print() { std::cout << "Hello!\n"; }
} ();
objp->print();
あたりが動くのかな、と思いましたがコンパイルでエラーになってしまいます
anon_class_test.cpp:4:19: error: declaration of anonymous class must be a definition
4 | auto objp = new class {
| ^
anon_class_test.cpp:7:7: error: expected a type
7 | } ();
| ^
正しい書き方があれば教えていただけないでしょうか?
ちなみに、Java (Android)でのコールバックの登録であるような、インラインで無名の
クラスのオブジェクトを定義・生成して渡すような書き方がC++でもできるのかな、
という疑問があり、それの第一歩的な感じなのですが
class {
public:
void print() { std::cout << "Hello!\n"; }
} obj;
obj.print()
は動きました。それならば
auto objp = new class {
public:
void print() { std::cout << "Hello!\n"; }
} ();
objp->print();
あたりが動くのかな、と思いましたがコンパイルでエラーになってしまいます
anon_class_test.cpp:4:19: error: declaration of anonymous class must be a definition
4 | auto objp = new class {
| ^
anon_class_test.cpp:7:7: error: expected a type
7 | } ();
| ^
正しい書き方があれば教えていただけないでしょうか?
ちなみに、Java (Android)でのコールバックの登録であるような、インラインで無名の
クラスのオブジェクトを定義・生成して渡すような書き方がC++でもできるのかな、
という疑問があり、それの第一歩的な感じなのですが
987デフォルトの名無しさん
2025/04/28(月) 10:00:18.82ID:+jC2JIL+ 匿名クラスってCで言う構造体やん
988デフォルトの名無しさん
2025/04/28(月) 10:12:11.66ID:RRBAM2hD989はちみつ餃子 ◆8X2XSCHEME
2025/04/28(月) 12:35:00.60ID:clGXfLYj >>986
簡潔な回答としては「できない」ということになる。
関数ひとつで終わるような簡単なコールバックならラムダ式で渡せるように設計する。
もう少し複雑なものになると……式の中に定義を書けるのは見通しが悪いし、出来てしまう Java のほうが良くなさそう。
別の場所 (といっても直前で良いけれど) で定義すれば何も困らないよ。
質問の本筋ではないが気になる点として、
new で生成したものはどこかで delete しなきゃならないからそのコードだけから判断できる範囲ではなんだか筋が悪そうに見える。
つまりそもそも new する意味がないんじゃない? と思う。
簡潔な回答としては「できない」ということになる。
関数ひとつで終わるような簡単なコールバックならラムダ式で渡せるように設計する。
もう少し複雑なものになると……式の中に定義を書けるのは見通しが悪いし、出来てしまう Java のほうが良くなさそう。
別の場所 (といっても直前で良いけれど) で定義すれば何も困らないよ。
質問の本筋ではないが気になる点として、
new で生成したものはどこかで delete しなきゃならないからそのコードだけから判断できる範囲ではなんだか筋が悪そうに見える。
つまりそもそも new する意味がないんじゃない? と思う。
990デフォルトの名無しさん
2025/04/28(月) 13:12:28.38ID:PR6E6U1X991デフォルトの名無しさん
2025/05/02(金) 09:24:43.58ID:k5bGwZZ0 size_t を返す hoge.count() みたいなのがあって
for(int i = hoge.count(); --i >= 0){...} と描くと
型が違うって怒られるのですが
for(int i = (int)hoge.count(); --i >= 0){...}
for(unsigned long i = (unsigned long)hoge.count(); --i >= 0){...}
for(size_t i = hoge.count(); --i >= 0){...}
どれが正解?
for(int i = hoge.count(); --i >= 0){...} と描くと
型が違うって怒られるのですが
for(int i = (int)hoge.count(); --i >= 0){...}
for(unsigned long i = (unsigned long)hoge.count(); --i >= 0){...}
for(size_t i = hoge.count(); --i >= 0){...}
どれが正解?
993はちみつ餃子 ◆8X2XSCHEME
2025/05/02(金) 11:40:02.44ID:n0wyIh3y >>991
for 文の括弧の中はセミコロンで区切られた三つの節を持つ形式である必要があるが、二つの節しかないのが根本的な間違い。
そんでそれを脇に置くとして、ループカウンタ i が unsigned であるときに --i >= 0 という式で判定しようとするのが間違い。
0 以下になることはありえないのだから判定の意味がない。 (無限ループを意図したのでない限りは。)
整数を別の整数型に型変換したときに型変換後の型で表現可能な範囲の値であるならば同じ数値のままであることは保証されて何も問題はない。
逆に言えば扱う値の範囲次第では違う数値に変わったり未定義になったりすることがある。
hoge.count() が返す型が size_t なら最後まで size_t で扱うのが基本的には好ましい。
値が取りうる範囲を把握しているなら問題を起こさない範囲で適切に型変換するのはプログラマの裁量による。
状況によって判断するしかない。
for 文の括弧の中はセミコロンで区切られた三つの節を持つ形式である必要があるが、二つの節しかないのが根本的な間違い。
そんでそれを脇に置くとして、ループカウンタ i が unsigned であるときに --i >= 0 という式で判定しようとするのが間違い。
0 以下になることはありえないのだから判定の意味がない。 (無限ループを意図したのでない限りは。)
整数を別の整数型に型変換したときに型変換後の型で表現可能な範囲の値であるならば同じ数値のままであることは保証されて何も問題はない。
逆に言えば扱う値の範囲次第では違う数値に変わったり未定義になったりすることがある。
hoge.count() が返す型が size_t なら最後まで size_t で扱うのが基本的には好ましい。
値が取りうる範囲を把握しているなら問題を起こさない範囲で適切に型変換するのはプログラマの裁量による。
状況によって判断するしかない。
994デフォルトの名無しさん
2025/05/02(金) 12:05:12.81ID:b7t9YOim 我慢できなくなって説明しちゃうはちみつさん
995デフォルトの名無しさん
2025/05/02(金) 19:42:35.68ID:rPO248eK for(long long i = (long long)hoge.count(); --i >= 0; ){...}
996デフォルトの名無しさん
2025/05/04(日) 09:19:50.28ID:RkNPiBO2 Rust使えばもっと楽になるかと思いきや
面倒が増えただけだったでござる
面倒が増えただけだったでござる
997デフォルトの名無しさん
2025/05/04(日) 10:01:55.29ID:CPTw2I9A >size_t を返す hoge.count() みたいなのがあって
>for(int i = hoge.count(); --i >= 0){...}
Rustなら単に (0..hoge.count()).rev()
>for(int i = hoge.count(); --i >= 0){...}
Rustなら単に (0..hoge.count()).rev()
998はちみつ餃子 ◆8X2XSCHEME
2025/05/04(日) 11:51:46.75ID:w7r9Yiaa 全体としては Rust のほうがだいぶん楽だと思うけどなぁ。
好みや慣れの要素があるから単純には比較できないのだけれど。
好みや慣れの要素があるから単純には比較できないのだけれど。
999デフォルトの名無しさん
2025/05/04(日) 11:59:34.01ID:RkNPiBO2 はちみつさんもRust使ってるんだね
1000デフォルトの名無しさん
2025/05/04(日) 11:59:44.18ID:RkNPiBO2 かわいい
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2364日 21時間 4分 32秒
新しいスレッドを立ててください。
life time: 2364日 21時間 4分 32秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 日本、高市のお陰で破滅に近づくwwwwwwww
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 令和の陽キャってみんな前髪めっちゃ長いけど
- まみちゃん
- ちっしゃーねーな。俺が習近平のアナルに武力侵攻してきてやるよ
