[過去ログ] C++相談室 part164 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
580: (ワッチョイ 0720-rRCM) 2023/07/26(水)21:14 ID:4fMh7lxL0(1) AAS
bullshit
581: (ワッチョイ 473e-8suU) 2023/07/26(水)21:21 ID:Z/zSkMd/0(3/3) AAS
>>576
現実がクソなんだよ。
それでもコードにしなきゃならないところ(低レイヤとか速度がいるところとか言語を跨ぐインターフェイスとか)でCが使われるから必然的にクソになる。
他の言語で書いたところでたぶんクソだぞ。
582
(1): (オイコラミネオ MM3b-nVDU) 2023/07/26(水)22:07 ID:iOxX8HKcM(1) AAS
自分としては古いC++のコードの方がクソの山に見える
Cはまだまし
583: (ワッチョイ 6701-I2OL) 2023/07/26(水)22:16 ID:jPIzcFjy0(1) AAS
5chからの新しいお知らせは、他の板には出ないんだな
584: (ワッチョイ 67c0-CvEJ) 2023/07/27(木)04:04 ID:QeVlkja60(1) AAS
古い事自体は悪い訳ではないよね
質が低いけど影響範囲が大きくて修正されずに生き延びてる糞コードが悪いだけで
585
(1): (ワッチョイ bf9a-0/k/) 2023/07/27(木)09:00 ID:zEDi2bcm0(1) AAS
>>578
stackだけだと積むというだけで高さはわからないような
they stacked shit that highというのが原文
586: (アウアウウー Sa2b-QKap) 2023/07/27(木)09:00 ID:GoQM94Wca(1/2) AAS
>>582
ほんそれ
+1
587: (ワッチョイ 8702-Jlgx) 2023/07/27(木)09:39 ID:4LOg1fU50(1) AAS
>>576
PythonとかJavaScriptだけの世界に生きてる人たちはC++はクソとか言ってそうな気がする
588: (アウアウウー Sa2b-QKap) 2023/07/27(木)09:49 ID:GoQM94Wca(2/2) AAS
実際C++は糞だと思う
Cの方がマシ
589: (ワッチョイ a701-Fb4F) 2023/07/27(木)10:16 ID:+SEMblDr0(1/3) AAS
VCでビルドしたC++ライブラリって
mingwでビルドしたオブジェクトファイルとリンクできないよね?
Cライブラリだとできるけども
590
(1): (ワッチョイ 0710-IJmj) 2023/07/27(木)10:25 ID:uqLQvp0Q0(1) AAS
c++だとマングリングの規則がコンパイラごとに違うから無理なはず
591: (ワッチョイ a701-JYYx) 2023/07/27(木)10:37 ID:+SEMblDr0(2/3) AAS
>>590
ありがとうございます
592: はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/27(木)11:15 ID:p+3LvAw40(1/2) AAS
COM の規約で運用するという方法もあるけど割とめんどい
593: (ワッチョイ a701-Fb4F) 2023/07/27(木)12:11 ID:+SEMblDr0(3/3) AAS
C++ライブラリとCライブラリの両方があったので
素直にCライブラリの方を使うことにします
594: (アウアウウー Sa2b-4APs) 2023/07/27(木)14:18 ID:SGfMLUd3a(1) AAS
>>585
その原文の訳が「まるでそびえ立つクソだ!」だからhighly stacked shitあたりだろうけど、あれはハートマン軍曹という異常者の語彙だから、多分pile of shitなんかの方が一般的かもね
595: (ワッチョイ 7ffb-p1qB) 2023/07/27(木)21:44 ID:alYzqiaL0(1) AAS
msvcからmingwに移行しようと思い、7zを展開したらディフェンダーちゃんが反応したので何かと思ったら
596: (ワッチョイ 473e-8suU) 2023/07/27(木)22:58 ID:p+3LvAw40(2/2) AAS
実行ファイルを生成するものは割りとひっかかる
597: (アウアウウー Sa2b-QKap) 2023/07/28(金)10:55 ID:Zgvcm9f5a(1) AAS
7zを展開する前にファイルをExoplorerから右クリックで開いて
ディフェンダー無効にしてから展開するだけだろ
598: (スップ Sd7f-HOej) 2023/07/28(金)13:11 ID:6yxKL9JFd(1) AAS
Defenderに無害認定されるまで戦い続けるマ?
599
(1): (ワッチョイ dff0-FYg4) 2023/07/28(金)13:58 ID:AMhr/ZcZ0(1) AAS
どういう設定でコンパイルしたら有害認定されるかむしろ知りたいわ
600: (ワッチョイ 2705-TI2y) 2023/07/28(金)20:53 ID:nOGNEf1T0(1) AAS
oss物は使ってくれるなというms様のお達し?
601: (ワッチョイ a701-Fb4F) 2023/07/28(金)21:03 ID:iCEYdRhP0(1) AAS
wslでLinux飲み込んだのに?
602: (ワッチョイ 473e-8suU) 2023/07/28(金)21:12 ID:yKS6EUDz0(1) AAS
そういや従量課金回線むけに通信量を制限するソフトを入れたら
通信を阻害するマルウェアとして検出されたことがある。
解釈によってはそりゃそうだと思うし、
セキュリティツールは疑陽性が増えてでも偽陰性を
減らす方向に調整するのはしょうがないんじゃねーの
603: (ワッチョイ 8f9c-JfPF) 2023/07/29(土)01:25 ID:eLz5SM1d0(1) AAS
マイクロソフトとしてはストアアプリとして配信して欲しいんだろうね
ZIPなどの野良アプリ配布は不遇の時代よ
604: (ワッチョイ bec3-B8t3) 2023/07/29(土)01:41 ID:mO2Fj1W+0(1) AAS
テレメスパイウェアage
605
(1): (アウアウウー Sa1f-6+wX) 2023/07/30(日)09:49 ID:azQXcNDBa(1) AAS
>>599
コンパイル後のexeがなぜか毎回消える問題は何かのバージョンで過去にあった
606: (ワッチョイ befb-LsOw) 2023/07/30(日)11:40 ID:/52qmc2G0(1) AAS
>>605
恥ずかしがり屋め//
607: (ワッチョイ 2679-ntsF) 2023/07/30(日)19:58 ID:cURCmIiS0(1) AAS
Defender様はOS内蔵のC#で作ったexeも容赦なく消してくるぞ
名前が他と被ってたり変な場所に置いたりしてると割と起こる
608
(1): (ワッチョイ 2301-9pon) 2023/07/30(日)23:32 ID:Phugis3j0(1/2) AAS
初期化していないstd::optional <int>をdereferenceすると0として扱われます
boost::optional <int>だとAbortされるのですが
なぜstdではこのようになっているのかどなたかご存知ですか?
$ cat test.cpp
#include <optional>
#include <boost/optional.hpp>
#include <iostream>
省15
609: (ワッチョイ d35f-X/lp) 2023/07/30(日)23:50 ID:1/o7VgXA0(1) AAS
>>608
どちらも事前条件違反での未定義動作の結果。
「0として扱う」と定められているわけじゃない。
boost が assert で止めてくれているのは親切。
610: (ワッチョイ 2301-9pon) 2023/07/30(日)23:58 ID:Phugis3j0(2/2) AAS
boostの方が親切ですよね
何でstdでなくしたんでしょ?
611
(1): (ワッチョイ 2301-9pon) 2023/07/31(月)00:15 ID:ulrQSEBD0(1/3) AAS
stdはパフォーマンスを気にしたんでしょうかね?
612
(1): (ワッチョイ 8f7c-xLd3) 2023/07/31(月)00:17 ID:kuDsfsru0(1) AAS
未定義動作をどうしようとコンパイラの勝手
613
(1): (ワッチョイ 2301-9pon) 2023/07/31(月)00:42 ID:ulrQSEBD0(2/3) AAS
>>612
boostでは初期化済みかどうかを確認していたのを
stdでなぜ確認を外したのか?って問いになります
>>611に書いたようにパフォーマンスってこでしょうかね?
614: (ワッチョイ d35f-X/lp) 2023/07/31(月)01:10 ID:cE0Z6rmj0(1/2) AAS
>>613
std::optionalの仕様がboost::optionalを参考にしたのは確かだろうけど、
std::optionalの実装はboost::optionalの実装をもとにしたわけじゃないだろうから、
不要なチェックが無い状態でむしろ自然。
何か意図を持って「なくした」「外した」などという事実がおそらく無い。
仮に意図的だったとして、ここで誰かがその質問にyes/noを答えても本当かどうかはわからない。
どうしても気になるならライブラリ実装者に聞くべき。
615
(1): (ワッチョイ 2301-9pon) 2023/07/31(月)02:06 ID:ulrQSEBD0(3/3) AAS
仕様はboostが元になっているのは間違いないので
規格に入れるときになぜこれを変えたのか理由が分かればなと考えました
proposal追ってる人でご存知の方がいればなと思いましたが
自分でも読んでみます
616: (ワッチョイ d35f-X/lp) 2023/07/31(月)03:26 ID:cE0Z6rmj0(2/2) AAS
>>615
仕様はどちらも事前条件違反での未定義動作で、変わってない。
なので仕様について調べてもおそらく答えは出ない。
assertの有無は実装の範疇。
617
(3): (ワッチョイ a6a4-2Bsr) 2023/08/02(水)01:27 ID:UwRg95UI0(1/3) AAS
プログラミングの面接を受けた。言語は何でもいいというので今使ってるC++で予め申請。
ロジックを問う問題なので言語で差はつかない、という話... だったが実際は文字列処理
の問題が多く、これはスクリプト系とかの方が有利じゃないか

C++にはなんで文字列のsplit系はないんだろ。どうしてます? <- あ、これが雑多な質問w
618
(1): (ワッチョイ a6a4-2Bsr) 2023/08/02(水)01:29 ID:UwRg95UI0(2/3) AAS
ちなみに自分は以前Pythonを使っていた時期もJavaを使っていた時期もあるけど
今は頭が「C++脳」になっている気がして、とっさにそれらを使うとなると不安を感じたのだった
やはり常日頃から他の言語も回しておくべきだろうか
619: (ワッチョイ a6a4-2Bsr) 2023/08/02(水)01:31 ID:UwRg95UI0(3/3) AAS
マ系の話かもしれないですね、すみません
620: (ワッチョイ 4af0-0TAO) 2023/08/02(水)01:45 ID:JKibevwe0(1) AAS
次の問題でグラフにプロットしろとか言われそうだなw
621: (ワッチョイ b73e-4j5P) 2023/08/02(水)01:58 ID:Vhf3uqZN0(1) AAS
>>617
普通は申告した技能に嘘がないことを確かめるのが
面接の主な目的であって
正解率に意味があるような試験ではないよ。
622
(1): (ワッチョイ 33d6-cK++) 2023/08/02(水)06:20 ID:NkBPLpHI0(1) AAS
>>617
istringstream と getline を使えば、区切られた文字を順番に取り出せる。
空白文字区切りなら、getline の代わりに >> が使える。

外部リンク[html]:maku77.github.io
623: (アウアウウー Sa1f-IPSQ) 2023/08/02(水)09:31 ID:4pI1Wfnva(1/2) AAS
>>617
C/C++でそれが出来て初めて「C/C++が使えます」って言えるんだ
624: (ワッチョイ befb-LsOw) 2023/08/02(水)09:36 ID:y1hozJP20(1/3) AAS
1つの言語で覚えたあたらしい機能を実現するのに他の言語ではどう書く?って感じで比較しながら書くと記憶が精緻化しやすく忘れにくくなる
625
(1): (アウアウウー Sa1f-IPSQ) 2023/08/02(水)10:22 ID:4pI1Wfnva(2/2) AAS
>>618
「C++脳」
良く言えるな
C++も不安だらけじゃないか
626: (ワッチョイ befb-LsOw) 2023/08/02(水)12:38 ID:y1hozJP20(2/3) AAS
コーディングテストのはずがメインメソッド作ってって言われたときはこちらからお断り申し上げたことがある
627: (ワッチョイ befb-LsOw) 2023/08/02(水)12:43 ID:y1hozJP20(3/3) AAS
チンチンシュッシュシュですわ
628
(2): (ワッチョイ 4b9a-2Bsr) 2023/08/03(木)09:24 ID:lr2Ednh70(1) AAS
>>625
あ、別にC++が得意という意味でなく、それ以外の言語を使うとき頭がすぐに切り替わらない、
というぐらいの話で

結局そのとき自分は文字をチェックして区切り文字の位置を調べてstring.substr()で切り出し
vector<string>に追加というベタな感じを。でも他の言語でsplit()を呼んで終わりなのと比べると
無駄に焦ったと思われ >>622はすっかり忘れていた
629: (ワッチョイ 6af0-PvkJ) 2023/08/03(木)09:35 ID:IPuBCl990(1) AAS
自分で作れよw
簡単だろ
630: はちみつ餃子◆8X2XSCHEME (ワッチョイ b73e-yh3V) 2023/08/03(木)09:36 ID:HBD/4AdY0(1) AAS
>>628
C++20 以降なら std::views::split を使えるよ。
631: (ワッチョイ befb-LsOw) 2023/08/03(木)20:08 ID:IJZbd6wk0(1) AAS
>>628
c++がマニアックなのはまぁわかる
他の言語に切り替わらないっていうのは鍛錬不足じゃあ無いのかね
c++で書いたものを見ながら別の言語に書き換えるっていう作業の時間が足りてないんじゃない?
632: (ワッチョイ 43a5-IPSQ) 2023/08/04(金)21:09 ID:5lu3SOws0(1) AAS
プリプロセッサディレクテブでマクロを組む方法はないでしょうか?
#ifndef XX
#define XX 1
#endif

define_default (XX, 1); <-こんな感じにマクロ化したい
633: (ワッチョイ 7510-oj1Z) 2023/08/05(土)01:51 ID:L/LBNngA0(1/2) AAS
🤔…(こんな感じとは?)
634: (ワッチョイ 7510-oj1Z) 2023/08/05(土)02:15 ID:L/LBNngA0(2/2) AAS
スマン言いたい事分かった

直接の回答は:わからん。
多分、君の実装アイデアでは無理。
C++というかCな気がするが、コンパイラの規格の中に翻訳作業のステージが確か7つ位定義されてて、その一つがプリプロセス。で無限ループしないようになってたような。

本当にやりたいであろう事(定数定義の記述に定形があって煩雑なのをシンプルに書きたい)なら、私なら別の方法でやる、けどそれは聞かれてないよね
635: (スッップ Sd2f-YWx9) 2023/08/05(土)09:38 ID:wvUeqD5zd(1) AAS
定義をマクロ定義する事はできないよ
都度意味を変えてincludeで読み込ませるとか
636: (ワッチョイ 4f7c-HETv) 2023/08/05(土)10:20 ID:9rqysa6s0(1) AAS
よく分からんがC++の範疇じゃなくてcamkeとかコンパイラオプションでやる事っぽく見える
637
(1): (ワッチョイ 31a5-mBaV) 2023/08/05(土)22:30 ID:a9xEz2i50(1/2) AAS
コンパイルオプションでdefineを省略されていればデフォルト値を使うようなコードの構造にしたいのですが、
なるたけmakeやコンパイル環境に依存しないことが希望です。
プリプロセッサを使うと煩雑で読みづらくなってしまうので、カプセル化したいです。
C++ならもう少し洗練された方法がないものかと思うところですが、
定数定義の記述定形があって煩雑なのをシンプルに書く方法があれば教えて下さい
638: (ワッチョイ 4d01-zxRi) 2023/08/05(土)23:17 ID:NzC+Rt9F0(1) AAS
現状のサンプルコードを書いた方が答えやすい
639: (ワッチョイ 31a5-mBaV) 2023/08/05(土)23:34 ID:a9xEz2i50(2/2) AAS
#ifndef XX1
#define XX1 1
#endif

#ifndef XX2
#define XX2 0
#endif
:
640: (ワッチョイ 5b3e-8WNR) 2023/08/06(日)00:25 ID:Mgx3ApDu0(1/2) AAS
C++ はなるべくマクロを使わずに済む方向に進化してはいるが
マクロを使うのであればそれより良い方法はないと思うよ。
641: (ワッチョイ e3f0-uQHI) 2023/08/06(日)01:54 ID:7ys7hHtb0(1) AAS
俺ならテンプレート引数のデフォルト引数を使うけど、
既存のコードを何とかしたいって事かい?
642: (ワッチョイ 7510-WTQk) 2023/08/06(日)04:00 ID:VdM0xi000(1/2) AAS
>>637
君の求めてるエレガントな方法は、知らない。スマンね

私がもし 今すぐ 仕事でやる必要があるなら
XX1 1
XX2 0
というテキストファイルから、君の例示したソースファイルを生成する「ツール」を勝手に作って使い、手で書いたフリをする

数百あるならツールに意味があるし
省2
643: (ワッチョイ 7510-7C81) 2023/08/06(日)04:31 ID:VdM0xi000(2/2) AAS
ここって#とかの文字書けるのかな...

#!/bin/bash

put_data_list()
{
cat <<EOF
XX1 1
XX2 0
省14
644: (ワッチョイ 5b3e-8WNR) 2023/08/06(日)11:54 ID:Mgx3ApDu0(2/2) AAS
その手のパラメータをマクロとして大量に定義する
必要があるときというのは
開発・実行環境ごとに切り分けたいという要求なことが多くて、
そうだとしたら環境依存を避けたいという要件設定が
ナンセンスってことになるんよ。
645: (ワッチョイ 054e-c/5M) 2023/08/06(日)12:11 ID:R5xvWuDw0(1) AAS
その開発・実行環境がコンパイラ含めてまるごと提供される場合だと、C(++)基本機能だけで済ませないと何かと面倒というのは分かる
ゲーム機とかがそれ
646: (ワッチョイ c379-IXit) 2023/08/06(日)12:13 ID:SuulMMGF0(1) AAS
マイコン用のヘッダなんかはそういうテクニックが駆使されてて環境依存を減らしてるから参考になるよ
arduinoみたいな特定のマイコンに依存してない環境では特に
647: (ワッチョイ e3f0-uQHI) 2023/08/10(木)05:18 ID:cgZD1dE+0(1) AAS
最近はマイコンでもC++使うんですか?
普通にC使ったほうがいいと思うんですけどどうなってるんですか有識者の方
648: (ワッチョイ e3f0-WeFQ) 2023/08/10(木)08:37 ID:R9ss+SBt0(1) AAS
C++でもメモリを食わない書き方はあるとだけ言っておく
STLライブラリに恩恵を受けて育った温室育ちには理解出来んかもだがな
649
(1): (ワッチョイ 054e-c/5M) 2023/08/10(木)09:55 ID:4skaSxsv0(1/2) AAS
マイコンのことは知らないが、いまさら、
//コメント
スコープ内ローカル変数
関数のオーバーロードや引き数の省略
bool型とture/false識別子
等がないC言語とか無理だなw
650
(1): (ワッチョイ 5b3e-oz9p) 2023/08/10(木)10:54 ID:5Abh0bq20(1/3) AAS
>>649
その4つの内の3つはCにある機能だぞ
651: (ワッチョイ 054e-c/5M) 2023/08/10(木)14:04 ID:4skaSxsv0(2/2) AAS
組み込み向けでもC99つかえるの?
まぁ、最近はclangとかなのかな…日立コンパイラの恐怖とか思い出すわw
652: (ワッチョイ 5b3e-tyL0) 2023/08/10(木)14:23 ID:5Abh0bq20(2/3) AAS
スコープ内ローカル変数ってのが何を意味してるのかよくわからんが、
(関数ブロック以外でも) ブロックの先頭では変数宣言できるぞ。 C89 でも。
653: (ワッチョイ d105-GNKj) 2023/08/10(木)16:21 ID:ygto10X60(1/2) AAS
>>650
C++から逆輸入されたんだっけ?
654: (ワッチョイ d105-GNKj) 2023/08/10(木)16:23 ID:ygto10X60(2/2) AAS
マイコンって言ってももはや幅が広すぎるよな
655: はちみつ餃子◆8X2XSCHEME (ワッチョイ 5b3e-tyL0) 2023/08/10(木)16:42 ID:5Abh0bq20(3/3) AAS
Z80 だって C99 対応コンパイラは有るくらいだし、現代でも売ってるマイコン
かつ C コンパイラが存在するなら大抵は C99 対応くらいはしてるんじゃね。
完璧に準拠ってほどではないかもしれんけど。
656: (ワッチョイ dffb-IrHc) 2023/08/10(木)19:28 ID:rVmtE6nS0(1) AAS
今ってマクロ使うよりもモジュールにしてstaticでやる方がオトクなんだって?
657: (ワッチョイ 4f7c-HETv) 2023/08/11(金)07:07 ID:gKBPOQXo0(1/2) AAS
マイコンって関数呼び出しなんて重すぎてとんでもないmainに全部ベタ書きしろって世界でしょ?
そんなとこでモジュールなんて許されるのか
658: (ワッチョイ 61da-WeFQ) 2023/08/11(金)07:24 ID:RJhU8z4K0(1/3) AAS
とんだ時代錯誤だな
関数作るだけで容量が満杯になるっていつの時代のマイコンだよ
今何世紀だと思ってんだよ
動画リンク[YouTube]
659
(1): (ワッチョイ 4f7c-HETv) 2023/08/11(金)07:59 ID:gKBPOQXo0(2/2) AAS
そーなの?
昔受けた講習で「関数は重いので関数ポインタを扱う用途以外では作りません。処理をまとめるにはマクロかgotoを使います」って言ってて衝撃受けた口なんだけど
時代の流れなのかこの講習がタコなのかあなたがタコなのか専門外だから分からないよ
660: (ワッチョイ 61da-WeFQ) 2023/08/11(金)08:08 ID:RJhU8z4K0(2/3) AAS
ホントに極小サイズの容量小さい昔のマイコンならアセンブラでハードウェアアドレスにI/Oコールして組み上げんだろうけどいまのマイコンはそのレベルを既に凌駕して逸脱してるから誰でも気軽に組みやすく仕上がってる
micropythonみたいなインタープリタも走るしな
1-
あと 342 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s