!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
C++相談室 part163
https://mevius.5ch.net/test/read.cgi/tech/1672409791/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C++相談室 part164
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 33da-QP0H)
2023/05/09(火) 11:50:52.06ID:EYc2I7oW0559デフォルトの名無しさん (ラクッペペ MM8f-pwGU)
2023/07/25(火) 14:54:13.97ID:218oSqZIM 現役世代なら25年前なら20代
560デフォルトの名無しさん (ワッチョイ a701-Fb4F)
2023/07/25(火) 14:55:29.80ID:MikqYz6X0 だまれ小僧ども!
561デフォルトの名無しさん (ワッチョイ dff0-FYg4)
2023/07/25(火) 16:16:06.83ID:uXZxGhnB0 おじいちゃんかな入力使ってそう
562デフォルトの名無しさん (ワッチョイ 473e-8suU)
2023/07/25(火) 16:50:53.20ID:akUn9hsS0 リアルで トントカイモ をやったことある世代だわ……
563デフォルトの名無しさん (ワッチョイ 0710-PxlL)
2023/07/25(火) 20:33:32.87ID:RkQ0FrMx0564デフォルトの名無しさん (ワッチョイ bf79-mRrB)
2023/07/25(火) 21:15:39.67ID:2EbZvvbp0 (昔話うぜー)
565はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 473e-pcwf)
2023/07/25(火) 21:54:33.88ID:akUn9hsS0 >>563
古い規格に基づいたコードが消滅しているならそれでもいいけどさ。
古い規格に基づいたコードが消滅しているならそれでもいいけどさ。
566デフォルトの名無しさん (ワッチョイ a728-Nt2/)
2023/07/25(火) 22:52:02.65ID:ngER/Udx0567はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 473e-pcwf)
2023/07/25(火) 23:10:43.20ID:akUn9hsS0 アドレスとエイリアスは別枠なんだわ。
ポインタを数値として表示させると同じなのに == で比較すると偽値 (エイリアスではない) ということがあり得る。
pointer provenance の概念について調べてみると面白いかもね。
ポインタを数値として表示させると同じなのに == で比較すると偽値 (エイリアスではない) ということがあり得る。
pointer provenance の概念について調べてみると面白いかもね。
568デフォルトの名無しさん (ラクッペペ MM8f-pwGU)
2023/07/26(水) 07:52:30.48ID:Ymbp6+unM 古いコードに執着しはじめるならもういい加減引退した方がいい
569はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 473e-pcwf)
2023/07/26(水) 13:05:53.40ID:Z/zSkMd/0 >>568
誰かが書き換えなきゃ新しくはならんのだぞ。
誰かが書き換えなきゃ新しくはならんのだぞ。
570デフォルトの名無しさん (ラクッペペ MM8f-pwGU)
2023/07/26(水) 14:04:23.46ID:nSMXTC2xM まったく無いとは言わないが20年以上も昔のコードを弄る機会って実際どれくらいあるのか
あまりに不毛な主張だろう
あまりに不毛な主張だろう
571デフォルトの名無しさん (ワッチョイ dff0-POqA)
2023/07/26(水) 14:22:14.82ID:x/JHBN7Z0 >>129
これが実現出来ればそういう心配事も無くなるんだがな
これが実現出来ればそういう心配事も無くなるんだがな
572はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 473e-pcwf)
2023/07/26(水) 14:24:26.98ID:Z/zSkMd/0 ちなみに俺は少なくとも C++11 以降だろ (C++20 は時期尚早かもしれない) 派だし
趣味でプログラミングしているから実務現場はわからない。
でも確実に 20 年前くらいのコードは生きてるよ。
質問サイトで (古いコードの意味について尋ねる質問に対して) 歴史的な事情を説明したことは何度もあるから。
それが割合としてどんくらいかというと確かに少なくはあると思うが……。
趣味でプログラミングしているから実務現場はわからない。
でも確実に 20 年前くらいのコードは生きてるよ。
質問サイトで (古いコードの意味について尋ねる質問に対して) 歴史的な事情を説明したことは何度もあるから。
それが割合としてどんくらいかというと確かに少なくはあると思うが……。
573デフォルトの名無しさん (ワッチョイ 0710-PxlL)
2023/07/26(水) 17:59:22.96ID:EGwoK+U90 11は妥当かも。新しいauto は11から一部、で14で増えた訳よね
C++の仕事で、例えばauto使ったらダメって言われたら、工エエェェ(´д`)ェェエエ工 アンタ達何でCじゃなくてC++使ってるん?てならんか
(マ板的な話でごめんね)
仕事で、Cで未だに99がダメとかいう頭おかしい現場もあり、問い詰めると周辺ツール整備の予算の都合と言い訳される。そういうのを切る政治のために喫煙所活動したり、元社の海外部署の圧を使ったりする
まあでも、自衛隊の武器でもC++あったよ…ただ、武器にはちゃんと使用期限があって。5年とか。継続で使いたい場合には再整備事業が起きる。次の期限いっぱいまで修理可能であるように求められるのね
新規は14以上、保守は11以上、は妥当かもね
C++の仕事で、例えばauto使ったらダメって言われたら、工エエェェ(´д`)ェェエエ工 アンタ達何でCじゃなくてC++使ってるん?てならんか
(マ板的な話でごめんね)
仕事で、Cで未だに99がダメとかいう頭おかしい現場もあり、問い詰めると周辺ツール整備の予算の都合と言い訳される。そういうのを切る政治のために喫煙所活動したり、元社の海外部署の圧を使ったりする
まあでも、自衛隊の武器でもC++あったよ…ただ、武器にはちゃんと使用期限があって。5年とか。継続で使いたい場合には再整備事業が起きる。次の期限いっぱいまで修理可能であるように求められるのね
新規は14以上、保守は11以上、は妥当かもね
574デフォルトの名無しさん (テテンテンテン MM8f-TfYz)
2023/07/26(水) 20:17:04.26ID:zBy57xkKM 動的に重たい機能(例外とか)を取り除いたembeded c++に再チャレンジしてほしいわ。
c with structure and template くらいの。
c with structure and template くらいの。
575デフォルトの名無しさん (ワッチョイ 077c-N/av)
2023/07/26(水) 20:27:29.80ID:qeWM+gpE0 また禿に死ぬべきだって言われるだけだぞ
576デフォルトの名無しさん (ワッチョイ dff0-FYg4)
2023/07/26(水) 20:36:31.16ID:J6WrB9lP0 俺も趣味でしか使ってないけど、OSSのメンテやってる外人がCで書かれたコードのこと
クソの山と呼んでるのを見かけてみんなそう思ってると信じちゃった
クソの山と呼んでるのを見かけてみんなそう思ってると信じちゃった
577デフォルトの名無しさん (ワッチョイ a701-Fb4F)
2023/07/26(水) 20:45:03.48ID:T1zuvG990 「クソの山」って英語で何ていうの?
578デフォルトの名無しさん (ワッチョイ dff0-4APs)
2023/07/26(水) 20:47:33.68ID:e36yYIxR0579デフォルトの名無しさん (ワッチョイ a701-Fb4F)
2023/07/26(水) 21:11:20.60ID:T1zuvG990 My intestine is a kind of FIFO.
580デフォルトの名無しさん (ワッチョイ 0720-rRCM)
2023/07/26(水) 21:14:18.52ID:4fMh7lxL0 bullshit
581デフォルトの名無しさん (ワッチョイ 473e-8suU)
2023/07/26(水) 21:21:43.95ID:Z/zSkMd/0 >>576
現実がクソなんだよ。
それでもコードにしなきゃならないところ(低レイヤとか速度がいるところとか言語を跨ぐインターフェイスとか)でCが使われるから必然的にクソになる。
他の言語で書いたところでたぶんクソだぞ。
現実がクソなんだよ。
それでもコードにしなきゃならないところ(低レイヤとか速度がいるところとか言語を跨ぐインターフェイスとか)でCが使われるから必然的にクソになる。
他の言語で書いたところでたぶんクソだぞ。
582デフォルトの名無しさん (オイコラミネオ MM3b-nVDU)
2023/07/26(水) 22:07:29.96ID:iOxX8HKcM 自分としては古いC++のコードの方がクソの山に見える
Cはまだまし
Cはまだまし
583デフォルトの名無しさん (ワッチョイ 6701-I2OL)
2023/07/26(水) 22:16:26.68ID:jPIzcFjy0 5chからの新しいお知らせは、他の板には出ないんだな
584デフォルトの名無しさん (ワッチョイ 67c0-CvEJ)
2023/07/27(木) 04:04:24.35ID:QeVlkja60 古い事自体は悪い訳ではないよね
質が低いけど影響範囲が大きくて修正されずに生き延びてる糞コードが悪いだけで
質が低いけど影響範囲が大きくて修正されずに生き延びてる糞コードが悪いだけで
585デフォルトの名無しさん (ワッチョイ bf9a-0/k/)
2023/07/27(木) 09:00:04.57ID:zEDi2bcm0586デフォルトの名無しさん (アウアウウー Sa2b-QKap)
2023/07/27(木) 09:00:15.65ID:GoQM94Wca587デフォルトの名無しさん (ワッチョイ 8702-Jlgx)
2023/07/27(木) 09:39:10.27ID:4LOg1fU50 >>576
PythonとかJavaScriptだけの世界に生きてる人たちはC++はクソとか言ってそうな気がする
PythonとかJavaScriptだけの世界に生きてる人たちはC++はクソとか言ってそうな気がする
588デフォルトの名無しさん (アウアウウー Sa2b-QKap)
2023/07/27(木) 09:49:28.34ID:GoQM94Wca 実際C++は糞だと思う
Cの方がマシ
Cの方がマシ
589デフォルトの名無しさん (ワッチョイ a701-Fb4F)
2023/07/27(木) 10:16:37.98ID:+SEMblDr0 VCでビルドしたC++ライブラリって
mingwでビルドしたオブジェクトファイルとリンクできないよね?
Cライブラリだとできるけども
mingwでビルドしたオブジェクトファイルとリンクできないよね?
Cライブラリだとできるけども
590デフォルトの名無しさん (ワッチョイ 0710-IJmj)
2023/07/27(木) 10:25:00.16ID:uqLQvp0Q0 c++だとマングリングの規則がコンパイラごとに違うから無理なはず
591デフォルトの名無しさん (ワッチョイ a701-JYYx)
2023/07/27(木) 10:37:09.86ID:+SEMblDr0 >>590
ありがとうございます
ありがとうございます
592はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 473e-pcwf)
2023/07/27(木) 11:15:58.50ID:p+3LvAw40 COM の規約で運用するという方法もあるけど割とめんどい
593デフォルトの名無しさん (ワッチョイ a701-Fb4F)
2023/07/27(木) 12:11:09.64ID:+SEMblDr0 C++ライブラリとCライブラリの両方があったので
素直にCライブラリの方を使うことにします
素直にCライブラリの方を使うことにします
594デフォルトの名無しさん (アウアウウー Sa2b-4APs)
2023/07/27(木) 14:18:54.70ID:SGfMLUd3a >>585
その原文の訳が「まるでそびえ立つクソだ!」だからhighly stacked shitあたりだろうけど、あれはハートマン軍曹という異常者の語彙だから、多分pile of shitなんかの方が一般的かもね
その原文の訳が「まるでそびえ立つクソだ!」だからhighly stacked shitあたりだろうけど、あれはハートマン軍曹という異常者の語彙だから、多分pile of shitなんかの方が一般的かもね
595デフォルトの名無しさん (ワッチョイ 7ffb-p1qB)
2023/07/27(木) 21:44:21.80ID:alYzqiaL0 msvcからmingwに移行しようと思い、7zを展開したらディフェンダーちゃんが反応したので何かと思ったら
596デフォルトの名無しさん (ワッチョイ 473e-8suU)
2023/07/27(木) 22:58:54.41ID:p+3LvAw40 実行ファイルを生成するものは割りとひっかかる
597デフォルトの名無しさん (アウアウウー Sa2b-QKap)
2023/07/28(金) 10:55:13.63ID:Zgvcm9f5a 7zを展開する前にファイルをExoplorerから右クリックで開いて
ディフェンダー無効にしてから展開するだけだろ
ディフェンダー無効にしてから展開するだけだろ
598デフォルトの名無しさん (スップ Sd7f-HOej)
2023/07/28(金) 13:11:52.02ID:6yxKL9JFd Defenderに無害認定されるまで戦い続けるマ?
599デフォルトの名無しさん (ワッチョイ dff0-FYg4)
2023/07/28(金) 13:58:16.94ID:AMhr/ZcZ0 どういう設定でコンパイルしたら有害認定されるかむしろ知りたいわ
600デフォルトの名無しさん (ワッチョイ 2705-TI2y)
2023/07/28(金) 20:53:22.55ID:nOGNEf1T0 oss物は使ってくれるなというms様のお達し?
601デフォルトの名無しさん (ワッチョイ a701-Fb4F)
2023/07/28(金) 21:03:20.13ID:iCEYdRhP0 wslでLinux飲み込んだのに?
602デフォルトの名無しさん (ワッチョイ 473e-8suU)
2023/07/28(金) 21:12:30.62ID:yKS6EUDz0 そういや従量課金回線むけに通信量を制限するソフトを入れたら
通信を阻害するマルウェアとして検出されたことがある。
解釈によってはそりゃそうだと思うし、
セキュリティツールは疑陽性が増えてでも偽陰性を
減らす方向に調整するのはしょうがないんじゃねーの
通信を阻害するマルウェアとして検出されたことがある。
解釈によってはそりゃそうだと思うし、
セキュリティツールは疑陽性が増えてでも偽陰性を
減らす方向に調整するのはしょうがないんじゃねーの
603デフォルトの名無しさん (ワッチョイ 8f9c-JfPF)
2023/07/29(土) 01:25:10.10ID:eLz5SM1d0 マイクロソフトとしてはストアアプリとして配信して欲しいんだろうね
ZIPなどの野良アプリ配布は不遇の時代よ
ZIPなどの野良アプリ配布は不遇の時代よ
604デフォルトの名無しさん (ワッチョイ bec3-B8t3)
2023/07/29(土) 01:41:06.31ID:mO2Fj1W+0 テレメスパイウェアage
605デフォルトの名無しさん (アウアウウー Sa1f-6+wX)
2023/07/30(日) 09:49:16.34ID:azQXcNDBa >>599
コンパイル後のexeがなぜか毎回消える問題は何かのバージョンで過去にあった
コンパイル後のexeがなぜか毎回消える問題は何かのバージョンで過去にあった
606デフォルトの名無しさん (ワッチョイ befb-LsOw)
2023/07/30(日) 11:40:03.78ID:/52qmc2G0 >>605
恥ずかしがり屋め//
恥ずかしがり屋め//
607デフォルトの名無しさん (ワッチョイ 2679-ntsF)
2023/07/30(日) 19:58:32.07ID:cURCmIiS0 Defender様はOS内蔵のC#で作ったexeも容赦なく消してくるぞ
名前が他と被ってたり変な場所に置いたりしてると割と起こる
名前が他と被ってたり変な場所に置いたりしてると割と起こる
608デフォルトの名無しさん (ワッチョイ 2301-9pon)
2023/07/30(日) 23:32:06.49ID:Phugis3j0 初期化していないstd::optional <int>をdereferenceすると0として扱われます
boost::optional <int>だとAbortされるのですが
なぜstdではこのようになっているのかどなたかご存知ですか?
$ cat test.cpp
#include <optional>
#include <boost/optional.hpp>
#include <iostream>
using namespace std;
int main () {
std::optional <int> i0;
cout << *i0 << '\n';
if (i0) cout << "Initilized\n";
else cout << "Not initilized\n";
boost::optional <int> i1;
cout << *i1 << '\n';
return 0;
}
$ ./test
0
Not initilized
test: /usr/include/boost/optional/optional.hpp:1212: boost::optional<T>::reference_type boost::optional<T>::get() [with T = int; reference_type = int&]: Assertion `this->is_initialized()' failed.
Aborted (core dumped)
boost::optional <int>だとAbortされるのですが
なぜstdではこのようになっているのかどなたかご存知ですか?
$ cat test.cpp
#include <optional>
#include <boost/optional.hpp>
#include <iostream>
using namespace std;
int main () {
std::optional <int> i0;
cout << *i0 << '\n';
if (i0) cout << "Initilized\n";
else cout << "Not initilized\n";
boost::optional <int> i1;
cout << *i1 << '\n';
return 0;
}
$ ./test
0
Not initilized
test: /usr/include/boost/optional/optional.hpp:1212: boost::optional<T>::reference_type boost::optional<T>::get() [with T = int; reference_type = int&]: Assertion `this->is_initialized()' failed.
Aborted (core dumped)
609デフォルトの名無しさん (ワッチョイ d35f-X/lp)
2023/07/30(日) 23:50:56.20ID:1/o7VgXA0610デフォルトの名無しさん (ワッチョイ 2301-9pon)
2023/07/30(日) 23:58:13.09ID:Phugis3j0 boostの方が親切ですよね
何でstdでなくしたんでしょ?
何でstdでなくしたんでしょ?
611デフォルトの名無しさん (ワッチョイ 2301-9pon)
2023/07/31(月) 00:15:55.53ID:ulrQSEBD0 stdはパフォーマンスを気にしたんでしょうかね?
612デフォルトの名無しさん (ワッチョイ 8f7c-xLd3)
2023/07/31(月) 00:17:50.97ID:kuDsfsru0 未定義動作をどうしようとコンパイラの勝手
613デフォルトの名無しさん (ワッチョイ 2301-9pon)
2023/07/31(月) 00:42:57.84ID:ulrQSEBD0614デフォルトの名無しさん (ワッチョイ d35f-X/lp)
2023/07/31(月) 01:10:19.51ID:cE0Z6rmj0 >>613
std::optionalの仕様がboost::optionalを参考にしたのは確かだろうけど、
std::optionalの実装はboost::optionalの実装をもとにしたわけじゃないだろうから、
不要なチェックが無い状態でむしろ自然。
何か意図を持って「なくした」「外した」などという事実がおそらく無い。
仮に意図的だったとして、ここで誰かがその質問にyes/noを答えても本当かどうかはわからない。
どうしても気になるならライブラリ実装者に聞くべき。
std::optionalの仕様がboost::optionalを参考にしたのは確かだろうけど、
std::optionalの実装はboost::optionalの実装をもとにしたわけじゃないだろうから、
不要なチェックが無い状態でむしろ自然。
何か意図を持って「なくした」「外した」などという事実がおそらく無い。
仮に意図的だったとして、ここで誰かがその質問にyes/noを答えても本当かどうかはわからない。
どうしても気になるならライブラリ実装者に聞くべき。
615デフォルトの名無しさん (ワッチョイ 2301-9pon)
2023/07/31(月) 02:06:40.22ID:ulrQSEBD0 仕様はboostが元になっているのは間違いないので
規格に入れるときになぜこれを変えたのか理由が分かればなと考えました
proposal追ってる人でご存知の方がいればなと思いましたが
自分でも読んでみます
規格に入れるときになぜこれを変えたのか理由が分かればなと考えました
proposal追ってる人でご存知の方がいればなと思いましたが
自分でも読んでみます
616デフォルトの名無しさん (ワッチョイ d35f-X/lp)
2023/07/31(月) 03:26:45.40ID:cE0Z6rmj0617デフォルトの名無しさん (ワッチョイ a6a4-2Bsr)
2023/08/02(水) 01:27:09.22ID:UwRg95UI0 プログラミングの面接を受けた。言語は何でもいいというので今使ってるC++で予め申請。
ロジックを問う問題なので言語で差はつかない、という話... だったが実際は文字列処理
の問題が多く、これはスクリプト系とかの方が有利じゃないか
C++にはなんで文字列のsplit系はないんだろ。どうしてます? <- あ、これが雑多な質問w
ロジックを問う問題なので言語で差はつかない、という話... だったが実際は文字列処理
の問題が多く、これはスクリプト系とかの方が有利じゃないか
C++にはなんで文字列のsplit系はないんだろ。どうしてます? <- あ、これが雑多な質問w
618デフォルトの名無しさん (ワッチョイ a6a4-2Bsr)
2023/08/02(水) 01:29:42.76ID:UwRg95UI0 ちなみに自分は以前Pythonを使っていた時期もJavaを使っていた時期もあるけど
今は頭が「C++脳」になっている気がして、とっさにそれらを使うとなると不安を感じたのだった
やはり常日頃から他の言語も回しておくべきだろうか
今は頭が「C++脳」になっている気がして、とっさにそれらを使うとなると不安を感じたのだった
やはり常日頃から他の言語も回しておくべきだろうか
619デフォルトの名無しさん (ワッチョイ a6a4-2Bsr)
2023/08/02(水) 01:31:05.25ID:UwRg95UI0 マ系の話かもしれないですね、すみません
620デフォルトの名無しさん (ワッチョイ 4af0-0TAO)
2023/08/02(水) 01:45:10.69ID:JKibevwe0 次の問題でグラフにプロットしろとか言われそうだなw
621デフォルトの名無しさん (ワッチョイ b73e-4j5P)
2023/08/02(水) 01:58:11.71ID:Vhf3uqZN0622デフォルトの名無しさん (ワッチョイ 33d6-cK++)
2023/08/02(水) 06:20:23.71ID:NkBPLpHI0 >>617
istringstream と getline を使えば、区切られた文字を順番に取り出せる。
空白文字区切りなら、getline の代わりに >> が使える。
https://maku77.github.io/cpp/string/split.html
istringstream と getline を使えば、区切られた文字を順番に取り出せる。
空白文字区切りなら、getline の代わりに >> が使える。
https://maku77.github.io/cpp/string/split.html
623デフォルトの名無しさん (アウアウウー Sa1f-IPSQ)
2023/08/02(水) 09:31:21.06ID:4pI1Wfnva >>617
C/C++でそれが出来て初めて「C/C++が使えます」って言えるんだ
C/C++でそれが出来て初めて「C/C++が使えます」って言えるんだ
624デフォルトの名無しさん (ワッチョイ befb-LsOw)
2023/08/02(水) 09:36:40.40ID:y1hozJP20 1つの言語で覚えたあたらしい機能を実現するのに他の言語ではどう書く?って感じで比較しながら書くと記憶が精緻化しやすく忘れにくくなる
625デフォルトの名無しさん (アウアウウー Sa1f-IPSQ)
2023/08/02(水) 10:22:30.40ID:4pI1Wfnva626デフォルトの名無しさん (ワッチョイ befb-LsOw)
2023/08/02(水) 12:38:15.38ID:y1hozJP20 コーディングテストのはずがメインメソッド作ってって言われたときはこちらからお断り申し上げたことがある
627デフォルトの名無しさん (ワッチョイ befb-LsOw)
2023/08/02(水) 12:43:22.62ID:y1hozJP20 チンチンシュッシュシュですわ
628デフォルトの名無しさん (ワッチョイ 4b9a-2Bsr)
2023/08/03(木) 09:24:52.48ID:lr2Ednh70629デフォルトの名無しさん (ワッチョイ 6af0-PvkJ)
2023/08/03(木) 09:35:40.45ID:IPuBCl990 自分で作れよw
簡単だろ
簡単だろ
630はちみつ餃子 ◆8X2XSCHEME (ワッチョイ b73e-yh3V)
2023/08/03(木) 09:36:19.80ID:HBD/4AdY0 >>628
C++20 以降なら std::views::split を使えるよ。
C++20 以降なら std::views::split を使えるよ。
631デフォルトの名無しさん (ワッチョイ befb-LsOw)
2023/08/03(木) 20:08:30.72ID:IJZbd6wk0 >>628
c++がマニアックなのはまぁわかる
他の言語に切り替わらないっていうのは鍛錬不足じゃあ無いのかね
c++で書いたものを見ながら別の言語に書き換えるっていう作業の時間が足りてないんじゃない?
c++がマニアックなのはまぁわかる
他の言語に切り替わらないっていうのは鍛錬不足じゃあ無いのかね
c++で書いたものを見ながら別の言語に書き換えるっていう作業の時間が足りてないんじゃない?
632デフォルトの名無しさん (ワッチョイ 43a5-IPSQ)
2023/08/04(金) 21:09:58.67ID:5lu3SOws0 プリプロセッサディレクテブでマクロを組む方法はないでしょうか?
#ifndef XX
#define XX 1
#endif
define_default (XX, 1); <-こんな感じにマクロ化したい
#ifndef XX
#define XX 1
#endif
define_default (XX, 1); <-こんな感じにマクロ化したい
633デフォルトの名無しさん (ワッチョイ 7510-oj1Z)
2023/08/05(土) 01:51:28.51ID:L/LBNngA0 🤔…(こんな感じとは?)
634デフォルトの名無しさん (ワッチョイ 7510-oj1Z)
2023/08/05(土) 02:15:04.78ID:L/LBNngA0 スマン言いたい事分かった
直接の回答は:わからん。
多分、君の実装アイデアでは無理。
C++というかCな気がするが、コンパイラの規格の中に翻訳作業のステージが確か7つ位定義されてて、その一つがプリプロセス。で無限ループしないようになってたような。
本当にやりたいであろう事(定数定義の記述に定形があって煩雑なのをシンプルに書きたい)なら、私なら別の方法でやる、けどそれは聞かれてないよね
直接の回答は:わからん。
多分、君の実装アイデアでは無理。
C++というかCな気がするが、コンパイラの規格の中に翻訳作業のステージが確か7つ位定義されてて、その一つがプリプロセス。で無限ループしないようになってたような。
本当にやりたいであろう事(定数定義の記述に定形があって煩雑なのをシンプルに書きたい)なら、私なら別の方法でやる、けどそれは聞かれてないよね
635デフォルトの名無しさん (スッップ Sd2f-YWx9)
2023/08/05(土) 09:38:26.20ID:wvUeqD5zd 定義をマクロ定義する事はできないよ
都度意味を変えてincludeで読み込ませるとか
都度意味を変えてincludeで読み込ませるとか
636デフォルトの名無しさん (ワッチョイ 4f7c-HETv)
2023/08/05(土) 10:20:09.70ID:9rqysa6s0 よく分からんがC++の範疇じゃなくてcamkeとかコンパイラオプションでやる事っぽく見える
637デフォルトの名無しさん (ワッチョイ 31a5-mBaV)
2023/08/05(土) 22:30:35.02ID:a9xEz2i50 コンパイルオプションでdefineを省略されていればデフォルト値を使うようなコードの構造にしたいのですが、
なるたけmakeやコンパイル環境に依存しないことが希望です。
プリプロセッサを使うと煩雑で読みづらくなってしまうので、カプセル化したいです。
C++ならもう少し洗練された方法がないものかと思うところですが、
定数定義の記述定形があって煩雑なのをシンプルに書く方法があれば教えて下さい
なるたけmakeやコンパイル環境に依存しないことが希望です。
プリプロセッサを使うと煩雑で読みづらくなってしまうので、カプセル化したいです。
C++ならもう少し洗練された方法がないものかと思うところですが、
定数定義の記述定形があって煩雑なのをシンプルに書く方法があれば教えて下さい
638デフォルトの名無しさん (ワッチョイ 4d01-zxRi)
2023/08/05(土) 23:17:58.10ID:NzC+Rt9F0 現状のサンプルコードを書いた方が答えやすい
639デフォルトの名無しさん (ワッチョイ 31a5-mBaV)
2023/08/05(土) 23:34:29.13ID:a9xEz2i50 #ifndef XX1
#define XX1 1
#endif
#ifndef XX2
#define XX2 0
#endif
:
#define XX1 1
#endif
#ifndef XX2
#define XX2 0
#endif
:
640デフォルトの名無しさん (ワッチョイ 5b3e-8WNR)
2023/08/06(日) 00:25:50.71ID:Mgx3ApDu0 C++ はなるべくマクロを使わずに済む方向に進化してはいるが
マクロを使うのであればそれより良い方法はないと思うよ。
マクロを使うのであればそれより良い方法はないと思うよ。
641デフォルトの名無しさん (ワッチョイ e3f0-uQHI)
2023/08/06(日) 01:54:30.05ID:7ys7hHtb0 俺ならテンプレート引数のデフォルト引数を使うけど、
既存のコードを何とかしたいって事かい?
既存のコードを何とかしたいって事かい?
642デフォルトの名無しさん (ワッチョイ 7510-WTQk)
2023/08/06(日) 04:00:21.32ID:VdM0xi000 >>637
君の求めてるエレガントな方法は、知らない。スマンね
私がもし 今すぐ 仕事でやる必要があるなら
XX1 1
XX2 0
というテキストファイルから、君の例示したソースファイルを生成する「ツール」を勝手に作って使い、手で書いたフリをする
数百あるならツールに意味があるし
もし聞かれたらツールで生成したと答えるが、正直どうでもいい
メンテフェーズでの1件2件の追加修正は手で書きゃいい
君の求めてるエレガントな方法は、知らない。スマンね
私がもし 今すぐ 仕事でやる必要があるなら
XX1 1
XX2 0
というテキストファイルから、君の例示したソースファイルを生成する「ツール」を勝手に作って使い、手で書いたフリをする
数百あるならツールに意味があるし
もし聞かれたらツールで生成したと答えるが、正直どうでもいい
メンテフェーズでの1件2件の追加修正は手で書きゃいい
643デフォルトの名無しさん (ワッチョイ 7510-7C81)
2023/08/06(日) 04:31:49.92ID:VdM0xi000 ここって#とかの文字書けるのかな...
#!/bin/bash
put_data_list()
{
cat <<EOF
XX1 1
XX2 0
EOF
}
main()
{
while read NAME VAL
do
cat <<EOF
#ifndef $NAME
#define $NAME VAL
#endif
EOF
done
}
put_data_list | main
#!/bin/bash
put_data_list()
{
cat <<EOF
XX1 1
XX2 0
EOF
}
main()
{
while read NAME VAL
do
cat <<EOF
#ifndef $NAME
#define $NAME VAL
#endif
EOF
done
}
put_data_list | main
644デフォルトの名無しさん (ワッチョイ 5b3e-8WNR)
2023/08/06(日) 11:54:26.68ID:Mgx3ApDu0 その手のパラメータをマクロとして大量に定義する
必要があるときというのは
開発・実行環境ごとに切り分けたいという要求なことが多くて、
そうだとしたら環境依存を避けたいという要件設定が
ナンセンスってことになるんよ。
必要があるときというのは
開発・実行環境ごとに切り分けたいという要求なことが多くて、
そうだとしたら環境依存を避けたいという要件設定が
ナンセンスってことになるんよ。
645デフォルトの名無しさん (ワッチョイ 054e-c/5M)
2023/08/06(日) 12:11:02.29ID:R5xvWuDw0 その開発・実行環境がコンパイラ含めてまるごと提供される場合だと、C(++)基本機能だけで済ませないと何かと面倒というのは分かる
ゲーム機とかがそれ
ゲーム機とかがそれ
646デフォルトの名無しさん (ワッチョイ c379-IXit)
2023/08/06(日) 12:13:51.56ID:SuulMMGF0 マイコン用のヘッダなんかはそういうテクニックが駆使されてて環境依存を減らしてるから参考になるよ
arduinoみたいな特定のマイコンに依存してない環境では特に
arduinoみたいな特定のマイコンに依存してない環境では特に
647デフォルトの名無しさん (ワッチョイ e3f0-uQHI)
2023/08/10(木) 05:18:21.73ID:cgZD1dE+0 最近はマイコンでもC++使うんですか?
普通にC使ったほうがいいと思うんですけどどうなってるんですか有識者の方
普通にC使ったほうがいいと思うんですけどどうなってるんですか有識者の方
648デフォルトの名無しさん (ワッチョイ e3f0-WeFQ)
2023/08/10(木) 08:37:15.11ID:R9ss+SBt0 C++でもメモリを食わない書き方はあるとだけ言っておく
STLライブラリに恩恵を受けて育った温室育ちには理解出来んかもだがな
STLライブラリに恩恵を受けて育った温室育ちには理解出来んかもだがな
649デフォルトの名無しさん (ワッチョイ 054e-c/5M)
2023/08/10(木) 09:55:47.75ID:4skaSxsv0 マイコンのことは知らないが、いまさら、
//コメント
スコープ内ローカル変数
関数のオーバーロードや引き数の省略
bool型とture/false識別子
等がないC言語とか無理だなw
//コメント
スコープ内ローカル変数
関数のオーバーロードや引き数の省略
bool型とture/false識別子
等がないC言語とか無理だなw
650デフォルトの名無しさん (ワッチョイ 5b3e-oz9p)
2023/08/10(木) 10:54:42.66ID:5Abh0bq20 >>649
その4つの内の3つはCにある機能だぞ
その4つの内の3つはCにある機能だぞ
651デフォルトの名無しさん (ワッチョイ 054e-c/5M)
2023/08/10(木) 14:04:07.34ID:4skaSxsv0 組み込み向けでもC99つかえるの?
まぁ、最近はclangとかなのかな…日立コンパイラの恐怖とか思い出すわw
まぁ、最近はclangとかなのかな…日立コンパイラの恐怖とか思い出すわw
652デフォルトの名無しさん (ワッチョイ 5b3e-tyL0)
2023/08/10(木) 14:23:33.39ID:5Abh0bq20 スコープ内ローカル変数ってのが何を意味してるのかよくわからんが、
(関数ブロック以外でも) ブロックの先頭では変数宣言できるぞ。 C89 でも。
(関数ブロック以外でも) ブロックの先頭では変数宣言できるぞ。 C89 でも。
653デフォルトの名無しさん (ワッチョイ d105-GNKj)
2023/08/10(木) 16:21:19.73ID:ygto10X60 >>650
C++から逆輸入されたんだっけ?
C++から逆輸入されたんだっけ?
654デフォルトの名無しさん (ワッチョイ d105-GNKj)
2023/08/10(木) 16:23:48.61ID:ygto10X60 マイコンって言ってももはや幅が広すぎるよな
655はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5b3e-tyL0)
2023/08/10(木) 16:42:27.27ID:5Abh0bq20 Z80 だって C99 対応コンパイラは有るくらいだし、現代でも売ってるマイコン
かつ C コンパイラが存在するなら大抵は C99 対応くらいはしてるんじゃね。
完璧に準拠ってほどではないかもしれんけど。
かつ C コンパイラが存在するなら大抵は C99 対応くらいはしてるんじゃね。
完璧に準拠ってほどではないかもしれんけど。
656デフォルトの名無しさん (ワッチョイ dffb-IrHc)
2023/08/10(木) 19:28:12.15ID:rVmtE6nS0 今ってマクロ使うよりもモジュールにしてstaticでやる方がオトクなんだって?
657デフォルトの名無しさん (ワッチョイ 4f7c-HETv)
2023/08/11(金) 07:07:37.61ID:gKBPOQXo0 マイコンって関数呼び出しなんて重すぎてとんでもないmainに全部ベタ書きしろって世界でしょ?
そんなとこでモジュールなんて許されるのか
そんなとこでモジュールなんて許されるのか
658デフォルトの名無しさん (ワッチョイ 61da-WeFQ)
2023/08/11(金) 07:24:40.95ID:RJhU8z4K0659デフォルトの名無しさん (ワッチョイ 4f7c-HETv)
2023/08/11(金) 07:59:20.53ID:gKBPOQXo0 そーなの?
昔受けた講習で「関数は重いので関数ポインタを扱う用途以外では作りません。処理をまとめるにはマクロかgotoを使います」って言ってて衝撃受けた口なんだけど
時代の流れなのかこの講習がタコなのかあなたがタコなのか専門外だから分からないよ
昔受けた講習で「関数は重いので関数ポインタを扱う用途以外では作りません。処理をまとめるにはマクロかgotoを使います」って言ってて衝撃受けた口なんだけど
時代の流れなのかこの講習がタコなのかあなたがタコなのか専門外だから分からないよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 【青森・はぐれ子グマがラーメン店襲撃】「笑えないです」ボコボコにしてクマを返り討ち レジェンド男性はまぶたが腫れあがり骨折 ★2 [ぐれ★]
- 中国「高市許さん😡」ジャップメディア「熊!🐻!」 [809488867]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 女子高校生におちんちを見せる 、 頭髪薄めが発生 [485983549]
- 今季最強寒気襲来!!!!
- 【高市早苗】習近平激怒か [115996789]
