22/02/18 11:08:23.85 v7utSHD9.net
>>928
「いちいちやる」っていうか、同種のリソースを扱うときはいつも必要になる対応だからデストラクタでいいんだよ。
大抵はunique_ptrとか標準にあるもので済むし。
964:はちみつ餃子
22/02/18 11:40:56.58 fowo2HBL.net
>>928
いちいち個別対応したくないからクラス定義に押し込めるんだよ。
965:デフォルトの名無しさん
22/02/18 12:17:15.52 +V9f8lU9.net
>>931
今回のとこちょっとなんだけどなぁ
例外発生するとこ全部でやらなあかんやんコレ
クソ杉ちゃう?
966:デフォルトの名無しさん
22/02/18 12:21:15.24 mVeDXtSU.net
なにいってんの
967:デフォルトの名無しさん
22/02/18 12:27:42.18 +V9f8lU9.net
えー、わからんのー?
つまり例外が発生しうるとこすべてで
尻切れトンボされる可能性があって
以前のようにmalloc-freeのコードが混じってるとそいつらは問答無用でメモリリークしちゃうって話よ
968:デフォルトの名無しさん
22/02/18 12:47:42.19 YFQd7auv.net
malloc/freeなら検出できるやん
969:はちみつ餃子
22/02/18 12:48:02.74 fowo2HBL.net
>>932
対処する必要があるところで catch して解放するだけだろう。
それがどうして出来ないんだ?
970:デフォルトの名無しさん
22/02/18 13:19:45.68 +V9f8lU9.net
まあ、それよ
そういう対応が必要になるって話よ
追加するやつ全部trycatchで包むか
mallocfreeをクラスで包むか
入れたのは20行程度なのにルーチンの流れまで変える必要があったりなかったりで(# ゚Д゚) イラッ!
971:デフォルトの名無しさん
22/02/18 13:39:34.12 v7utSHD9.net
>>934
malloc-freeしてる既存コードに例外発生する処理�
972:ャぜるなんて特殊状況ならしょうがない。 面倒な状況なのはわかる。あきらめて心を殺してtry catchするか小さいRAII用クラスを作るか。 あるいはmalloc-freeしてるところも標準コンテナやunique_ptrに置き換えていけばすっきりするかもね。
973:デフォルトの名無しさん
22/02/19 09:00:24.16 AlOKsuc0.net
>>932
クソすぎかもしれないが、それは必要だし普通だろ
974:デフォルトの名無しさん
22/02/19 10:43:55.59 MFjncly/.net
メモリ解放以外にデストラクタでやることはあるわけだしな
集約して定義しとけよという
975:デフォルトの名無しさん
22/03/09 22:51:16.35 wIy/pNxS.net
LinuxでyyyyMMddhhmmss.fffを出力する
一番簡単な方法を教えて下さい
976:デフォルトの名無しさん
22/03/09 23:05:24.02 w9Xuob20.net
printf("yyyyMMddhhmmss.fff");
977:蟻人間
22/03/09 23:58:24.65 ptoc1SJJ.net
GNU/Linuxを仮定
system("date +%Y%m%d%H%M%S.%3N\");
978:デフォルトの名無しさん
22/03/10 00:03:44.70 IfzvyEOT.net
日付のフォーマットなんて都度調べるもんな
覚えてる変なやつもいるんだろうね
979:蟻人間
22/03/10 00:11:23.45 3vn8A8hZ.net
URLリンク(shino-tec.com)
980:デフォルトの名無しさん
22/03/10 07:16:50.83 ZtFzrJEF.net
>>945
これやったら秒とミリ秒を別で取得してるので
秒が59.999(ミリ秒はイメージ)のときに
ミリ秒は00.002ってなるときに前回の値が59.857ぐらいだったとすると
59.002ってなってしまうので逆転が起きたときは前回の値と比較して
逆転してたらミリ秒を強制的に999にするとかダサイことやってるんですけど
マジでこんな方法しかないでしょうか?
981:デフォルトの名無しさん
22/03/10 07:48:07.93 E/Z/b8gJ.net
>>946
そのダサいことをやってるのは何行目?
見つからないよ
982:デフォルトの名無しさん
22/03/10 08:52:39.45 pPpJXJXf.net
localtimeが時刻取得だと思ったんじゃろうね
983:デフォルトの名無しさん
22/03/10 18:51:28.19 xl0leRXC.net
>>947
timespecで取得できるのがミリ秒だけだと思ってました
自分のプログラムでtime_tで取得できる関数と複合してたのが原因でした
984:デフォルトの名無しさん
22/03/10 20:18:24.41 udY9aSDo.net
あー、だめだ
localtime_rがないって言われる
985:デフォルトの名無しさん
22/03/10 20:21:17.65 udY9aSDo.net
localtime_sもないって言われる
しばらくクソ方法で保留で
986:デフォルトの名無しさん
22/03/10 20:46:05.68 xH/r/VUj.net
>>950
環境は?
987:デフォルトの名無しさん
22/03/10 23:26:58.80 udY9aSDo.net
>>952
ubuntu
988:デフォルトの名無しさん
22/03/11 00:11:00.88 3xV59ngV.net
rはあるやろ
989:デフォルトの名無しさん
22/03/11 13:08:09.69 2pJSEvK3.net
ビルドの設定いじってもらって通りました
ありがとう御座いました
990:デフォルトの名無しさん
22/03/17 11:34:53.41 qJRouQ9M.net
【質問】
switch constexpr って無いんですか?
【背景】
if constexpr(false){
}
if constexpr(false){
}
if constexpr(true){
}
if constexpr(false){
}
という記法に疲れました。
switch(定数) で実現可能ですが、コンパイラがwarningを出すので避けたいところです。
991:デフォルトの名無しさん
22/03/17 11:40:14.61 Y2OAtTnf.net
無いけど俺も欲しい
992:デフォルトの名無しさん
22/03/17 11:44:52.12 qJRouQ9M.net
>>957
早速の回答ありがとうございます。
否定的な解決で残念ですが、前向きに生きていきます!
993:デフォルトの名無しさん
22/03/19 13:40:31.67 nPptgbtB.net
クロスプラットフォーム対応のキーボードイベント入力・マウスイベント入力があるライブラリで、規模がそこまで大きくないものって何かありますか?
994:デフォルトの名無しさん
22/03/19 14:54:00.91 Q/NZ1
995:iFj.net
996:デフォルトの名無しさん
22/03/21 11:06:17.41 Prmlj1K5.net
>>960
情報ありがとうございます
ncursesだとWindowsで動かしにくいみたいなんでフォークのpdcursesでやってみます
997:デフォルトの名無しさん
22/03/26 22:10:06.23 U9Dry82x.net
>>908
ググって出てこないようなことをおまえら答えれるのか?
998:デフォルトの名無しさん
22/03/26 23:30:57.78 po6dvxnc.net
日本語で記述された問題や目的から有用なページを紹介するのはグーグル先生は苦手なんだよ。
核心的なキーワード抜きだと特に。
999:デフォルトの名無しさん
22/03/26 23:42:52.67 as/ML4Ec.net
>>962
軽く調べた結果:
URLリンク(el.mml.tuis.ac.jp)
URLリンク(www.cc.kyoto-su.ac.jp)
URLリンク(programming.pc-note.net)
どこだったか忘れたけど俺は検索して学んだ記憶がある
記憶違いかもしれないけど
1000:デフォルトの名無しさん
22/03/29 22:17:14.91 JBheGd8b.net
スマホが普及しきった2015年くらいからGoogle検索の難易度一気に上がったな
昔はガバガバキーワードでもGoogle先生が忖度してくれていた
1001:デフォルトの名無しさん
22/03/30 08:00:47.76 NklUKb3w.net
忖度の意味知らなそう
1002:デフォルトの名無しさん
22/03/30 10:53:25.40 2Q6y3di6.net
Google ADの顧客は優遇致します
1003:デフォルトの名無しさん
22/03/30 12:23:34.00 eoFMqmT7.net
広告出してくれるインチキ医療サイトや適当プログラミングスクール優遇しまーす!!
無能
1004:デフォルトの名無しさん
22/03/31 16:42:12.47 Pfu/lGwO.net
初心者歓迎ということで、ちょっと聞いてみたいのですが、c++の世界ではboostというライブラリは有名なのでしょうか?
c++で勤怠管理できるwebシステムを作るんだといってコンストラクタがなんだかわからないまま
boostを読んでヘッダファイルをいくつか読んだあたりで英語読めなくて投げ出したことがあります。
1005:デフォルトの名無しさん
22/03/31 16:48:44.96 R4GrqV7T.net
>>969
有名だけど、使わんほうがいいよ
標準で十分だよ
1006:デフォルトの名無しさん
22/03/31 17:01:55.62 Pfu/lGwO.net
>>970
ありがとうございます!!
それに、あなた有識者の方ですね?
もしよければ少しだけ詳しく評判を教えていただければ幸いです。
1007:はちみつ餃子
22/03/31 17:23:59.00 Dq8nC8PK.net
>>969
かなり有名で活発。
最初から標準化委員会の人がかかわってるし、 Boost が出自の機能が標準入りしたこともある。
ただ、実験的な要素も多分にある。
急に仕様がかわることもある。
適切な場面では適切だし適切でない場面では適切でないというごく普通の話なんで、
評判がどうこうというより何をしたくて Boost に関心を持ってるのか説明したほうがいいよ。
1008:デフォルトの名無しさん
22/03/31 17:31:25.58 Pfu/lGwO.net
>>972
ありがとうございます。
boostは今はそんなに興味は持っていないんですが、今ちょうどMIMEタイプらへんのところを読んでいて、
そういえばboostにMIMEタイプって書いてあったなぁ、boostって業界だとどんな感じなんだろ?という感じです。
何となくなのですが、仕様が良く変わるから使いにくいと言う感じなのかな?と理解しました。
1009:はちみつ餃子
22/03/31 17:51:26.52 Dq8nC8PK.net
>>973
標準ライブラリほどには互換性は意識されないってだけで、
特に実験的な部分を除いては頻繁に変わるというほどでもないけど。
アップストリームでの変更の影響を避けるために
必要な部分だけ抜き出して自分のプロジェクトツリーに入れておくという運用もよくあるし。
(そのためのツールも用意されている。)
URLリンク(www.boost.org)
1010:デフォルトの名無しさん
22/03/31 18:00:17.34 Pfu/lGwO.net
>>974
更に詳しく有難うございます。確かに抜き出しちゃえば変わらないですもんね。
他でも応用できそう。
1011:デフォルトの名無しさん
22/03/31 18:34:15.90 YOGNRVrk.net
boost自体は使う必要はないけど、boostのドキュメントを読めないやつも不要だよな
ドキュメントもしっかりしてるから、使うだけなら簡単に使えるし
1012:デフォルトの名無しさん
22/03/31 19:04:21.70 Pfu/lGwO.net
>>976
ありがとうございます。
boostくらい軽く読めないならエンジニアになるなと言うことですね。
初めて3か月くらいなもんでポートフォリオの一つもないですけれど、
本当に読んでおきますね。
1013:デフォルトの名無しさん
22/03/31 19:25:23.71 R4GrqV7T.net
これから年単位でトレーニングが続くのに初心者がいちいちポートフォリョーポートフォリョー言うのは大変めんどくせえ感
1014:デフォルトの名無しさん
22/03/31 23:41:57.85 Sxv2nhUu.net
boost有用性は分かっていてもコンパイル時間やらなんやらで本チャンに適用しにくいんだよなぁ
1015:デフォルトの名無しさん
22/04/01 01:53:53.30 46G1puQR.net
boostなんてtemplateで悪ふざけしてるだけだから
普通のアプリには使えない
1016:デフォルトの名無しさん
22/04/09 01:43:32.41 fJGplIUn.net
VC++である動画を再生するのにコーデックのDLLが必要なのですが
予めレジストリにDLL情報を登録して、実行ファイルと同じディレクトリにDLLを置けば動きます。
でも他の環境でレジストリに登録するのが大変なので(権限がらみで面倒)、登録なしでどうにか動かす事が出来ないでしょうか?
DLLを参照とかしても無理でしょうか?
1017:デフォルトの名無しさん
22/04/09 09:41:01.85 nJhutFId.net
レジストリで何を登録してるんだろう?
関数をexportするだけのsusieプラグイン
なんかはレジストリ登録不要で利用できるけど
1018:デフォルトの名無しさん
22/04/09 13:44:11.76 unOoTfDz.net
COMだろ
仕様が公開されてればLoadLibrary()して使えるんじゃね?
1019:デフォルトの名無しさん
22/04/09 14:04:17.62 ehpYMGIZ.net
DirectShowやMediaFoundationのcodecなら自分で呼ぶわけにもいかんだろうな
1020:デフォルトの名無しさん
22/04/09 17:06:35.88 fJGplIUn.net
みなさんレスありがとう。
>>984
たぶんこれなんですよね… やっぱ無理ですかね。
1021:985
22/04/09 18:31:18.53 fJGplIUn.net
今見たら、Video For Windowsの機能を利用してるみたいでした。
こんな古いのを使ってるから専用のコーデックを使わないといけないのか。
コーデックはH.264用のDLLみたいですね。どうにかならないかな。
HKEY_LOCAL_MACHINEにプログラムから簡単に登録出来ればいいんだけど。
なんか良い案はないでしょうか。
1022:蟻人間
22/04/09 19:04:00.95 3yKii3E5.net
権限が必要ならプログラムのマニフェストで権限を要求。
自動化が必要なら、必要なコマンドラインを調べてバッチプログラム化する。
1023:デフォルトの名無しさん
22/04/09 19:39:38.43 fJGplIUn.net
>>987
ありがとうございます。調べてやってみます。
1024:デフォルトの名無しさん
22/04/09 19:45:37.96 s5Ocn4sk.net
一般的な動画再生ソフトでもコーデックをインストールしないと見れないのがあるが
一方、コーデック内臓もあるので技術的にはインストール不要だとおもうが
やり方はしらん、どっちも
1025:985
22/04/10 14:43:33.45 pRTmUSXM.net
とりあえずはマニフェストの設定変更で、起動した時に権限要求するようにしました。
調べて更に良い方法あればまた変更するつもりです。みなさんレスありがとうございました。
1026:デフォルトの名無しさん
22/04/14 15:42:21.39 VkbtJkFZ.net
SIMDの勉強中で、下のようなことをしたいのですが、コンストラクタでエラーになります。
プリミティブ型をアライメント指定してnew,deleteするにはどうすればいいですか?
class MyClass {
public:
MyClass() : member(new (std::align_val_t{32}) int[1000]) {}
~MyClass() { delete[] member; }
int* member;
};
1027:デフォルトの名無しさん
22/04/14 16:34:45 4tVKG4Xu.net
コンパイラの吐き出すエラーは見た?
std::align_val_t を使えるのは C++17以降みたいだけど
そこらへんは大丈夫?
(※ ideone は C++14までやよね?)
1028:991
22/04/14 16:56:57.03 VkbtJkFZ.net
>>992
C++20です。
visual studio 2022でエラーC2956が出ます。
エラーのリンク先には構造体をnewしたい場合の対処法が書かれてます。
対処法:構造体の宣言時にalignas()でアライメント指定する。
プリミティブ型を宣言することができない(?)ので、この対処法では解決できませんでした。
1029:デフォルトの名無しさん
22/04/15 15:16:32 KM+JgYPL.net
うめ
1030:デフォルトの名無しさん
22/04/15 15:16:44 KM+JgYPL.net
埋め
1031:デフォルトの名無しさん
22/04/15 15:16:54 KM+JgYPL.net
ume
1032:デフォルトの名無しさん
22/04/15 15:17:03 KM+JgYPL.net
梅
1033:デフォルトの名無しさん
22/04/15 15:17:12 KM+JgYPL.net
ウメ
1034:デフォルトの名無しさん
22/04/15 15:17:37 KM+JgYPL.net
生め
1035:デフォルトの名無しさん
22/04/15 15:17:46 KM+JgYPL.net
産め
1036:1001
Over 1000 Thread .net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 641日 1時間 25分 58秒
1037:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています