[過去ログ] 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(3): デフォルトの名無しさん [] 2017/11/04(土) 16:33:35 ID:NYxCuvMY(1) AAS
エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります

コードを貼れる所
外部リンク:codepad.org
外部リンク:ideone.com

前スレ
【初心者歓迎】C/C++室 Ver.101【環境依存OK】
2chスレ:tech
3
(3): デフォルトの名無しさん [sage] 2017/11/05(日) 20:58:13 ID:80sy7ZoV(1) AAS
unsigned long strtoulxn( char const* psz, size_t n )
{
    unsigned long v;

    for ( v = 0; *psz && n--; psz++ ) {
        if ( ! isdigit( *psz ) ) {
            continue;
        }
        v = 10 * v + ( *psz - '0' );
    }
    return v;
}
240
(4): デフォルトの名無しさん [sage] 2018/03/10(土) 22:50:07 ID:tBgkA+tH(1/2) AAS
C++で窓出してプログラム組みたい時ってどういう風にするもんなんでしょうか
windows.hで一つ一つボタンの位置を設定してハンドルやらコールバックと格闘するもんなんでしょうか
それとも何か気の利いた便利なライブラリとかがあるんでしょうか

というかこの手のライブラリやフレームワーク的なものを探したりしたい場合はどういう場所から情報を集めるものなんでしょうか
それっぽいキーワードでgoogleで検索して探そうとしても上手く情報を見つけられないのですが、根気よくページを確認していくしかないのでしょうか
257
(5): デフォルトの名無しさん [sage] 2018/03/12(月) 02:50:45 ID:SGROmA8V(1/2) AAS
皆様はプログラムを遅くし過ぎない為に気をつけている事などありますか?
速さを突き詰める為の工夫というより、誤って異常に処理時間のかかるようなプログラムを作らないようにする為にはどのような事を意識すると良いのでしょうか
270
(3): デフォルトの名無しさん [] 2018/03/15(木) 23:07:46 ID:rOhYRyTV(1/2) AAS
できる人にとってはくだらないことなんだと思うのですが、
char* c;
char *c;
この2つは一緒なのですか?
344
(4): デフォルトの名無しさん [sage] 2018/03/26(月) 20:58:30 ID:Sl5sXtlN(2/2) AAS
>>343
343(2): デフォルトの名無しさん [sage] 2018/03/26(月) 20:55:55 ID:qgnj+CJa(2/4) AAS
char型の値は 0 から 127 までであると本に書いてあるのですが。。。
その本は窓から投げ捨てろ。
ー128〜127が正解だ
389
(3): デフォルトの名無しさん [] 2018/03/27(火) 23:21:17 ID:dDmfqIPV(5/5) AAS
スタックのメモリ領域がこの範囲からこの範囲というように管理はしていないのですか?
423
(3): デフォルトの名無しさん [sage] 2018/04/02(月) 23:10:11 ID:yv4S6fVx(1/3) AAS
関数名にしろヘッダーにしろ6文字の縛りって何か歴史的理由があったのだろうか?
449
(4): デフォルトの名無しさん [] 2018/04/06(金) 18:11:46 ID:CDFchtjR(1/2) AAS
void Show(const IntArray& array){
...
}

というような関数内で、 array の const メンバ関数ではないメンバ変数を変更しないメンバ関数を
使っているとコンパイルエラーになりますが、それはなぜでしょうか?

コンパイラーはarrayのメンバ関数がメンバ変数を変更していないことはソースコードから
分かるのではないでしょうか?

そういうチェックをするコンパイラを作るのは難しいからということでしょうか?
485
(3): 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2018/04/09(月) 15:13:59 ID:4wbW7ji0(1/4) AAS
staticを付けなければスタックに確保されるかもしれない。その場合、どうしても遅くなる。
539
(4): デフォルトの名無しさん [sage] 2018/04/13(金) 10:38:13 ID:roGFrSR8(1/2) AAS
Win32のBOOL型を返す関数を複数回呼んで、
すべて成功したときのみTRUEを返したいのですが
(途中で失敗しても関数自体はすべて呼んでおく)、

BOOL Test()
{
  BOOL bResult = TRUE;
  bResult &= Api(...);
  bResult &= Api(...);
  bResult &= Api(...);
  return bResult;
}

と書いてとりあえず動くのですが、よく考えたら&=はビット演算だし、
Win32のBOOL関数は成功時にTRUEを返すとは書いていないので、
例えば関数が成功時に2を返すパターンがあったら、
すべて成功しても戻り値はFALSEになるのではと思っています。

この場合、

bResult = Api(...) && bResult;
bResult = Api(...) && bResult;
bResult = Api(...) && bResult;

みたいな書き方をするしかないのでしょうか。
547
(3): 539 [sage] 2018/04/13(金) 15:24:49 ID:roGFrSR8(2/2) AAS
みなさんご意見ありがとうございます。
例を簡略化しすぎてしまいましたが、処理は状況によって分かれるため、
常に同じ関数が3回というわけではありませんでした。
失礼しました。

bResult = Api(...) && bResult;

の書き方自体は、そこまで汚いわけではないのですね。
同じような書き方をしているソースも、検索してみたら出てきました。

個人的には、

bResult &&= Api(...);

のような記述ができるとありがたかったです。
619
(3): デフォルトの名無しさん [sage] 2018/04/17(火) 17:08:59 ID:SGgdop5e(1/2) AAS
巨大なファァイルの読み込みに関してです。
たとえば1000行のテキストからなるファイルの1000行目だけを読み込んで、配列に
代入したいのですが、ファイルをopenしていきなり1000行目にアクセスする方法はありますでしょうか?
現在、forループで1000回廻して1行ずつ増やしてアクセスし1000回目にfgetsで読み込んで配列に入れているのですが、999回のループが無駄なので高速化したいのですが、どなたかご教授いただけないでしょうか?
674
(3): デフォルトの名無しさん [] 2018/04/27(金) 13:24:43 ID:wnXDwKhi(1/7) AAS
for (int i = 0; i < n + 1; ++i) {;}

とやると、 i が n + 1 未満かどうかの判定をする際、毎度
n + 1 を計算してそれを i と比較するということになるので
しょうか?

もし、そうなら、

m = n + 1
for (int i = 0; i < m; ++i) {;}

としたほうがよいのでしょうか?
812
(3): デフォルトの名無しさん [sage] 2018/06/04(月) 08:19:48 ID:DAGyu3MW(1) AAS
再利用など考えず
一から好きなように双方向リストを作れ

>オブジェクト指向プログラミングでは再利用が重要

は幻想

この場合で言ったらまったく逆で
もともと何か双方向リストがあって、継承して機能制限をして一方向リストに仕立て上げるなら分かるが
一方向リストを継承して双方向リストにするなどイカれてる
838
(3): デフォルトの名無しさん [sage] 2018/06/11(月) 16:42:05 ID:SE5SjeC/(1/2) AAS
ファイルから読み込んだバイト列の先頭部分を参照して、
それがJPEGファイルなのか、PNGファイルなのか、などを判定したいのですが、
どの程度の判定をすればよいものなのでしょうか。
例えばJPEGファイルなら、先頭3バイトを{0xFF, 0xD8, 0xFF}とmemcmp()で十分なのでしょうか。
841
(3): デフォルトの名無しさん [sage] 2018/06/11(月) 17:03:57 ID:SE5SjeC/(2/2) AAS
すいません、十分というのは、ファイルの破損や脆弱性関連は置いておいて、
他の形式の正常なファイルも拾ってしまわないかということです。
JPEGの場合、先頭の3バイトを判定すれば、他の正常なファイルが引っかかることはないのでしょうか。
855
(3): デフォルトの名無しさん [sage] 2018/06/12(火) 18:35:01 ID:Q/HiJGFf(1) AAS
>>849
849(1): はちみつ餃子 ◆8X2XSCHEME [sage] 2018/06/12(火) 14:45:14 ID:U9ShKAeR(2/5) AAS
>>847
えっ? だからまずは先頭をちょっとだけ読んでみる (この判定だと false positive はあっても false negative はない) という話なんだけど。
ファイル判別の一般論じゃなくてjpgの判別ですよ
jpgの判別方法を語ればいいんです

文字コードと違ってあやしいとかはなくて
APPnの中数バイト見れば簡単にわかるんですよ
文字でJFIFとかExifとか書いてあるわけなんで

偽装が無いならこれで十分

あとは
対応フォーマットであるのか
正しいフォーマットであるのか
実際にデコード出来るのかどうか
などを判別する必要があるかどうかでその先が決まる
879
(3): デフォルトの名無しさん [sage] 2018/06/14(木) 15:24:59 ID:BKSAN5oR(2/3) AAS
>>878
878(1): デフォルトの名無しさん [sage] 2018/06/14(木) 14:30:10 ID:Lgo9GPo1(1) AAS
>>877
IDisposable使ってる?
スコープ抜けてもGCによって回収されるタイミングは保証できない
どうしてもすぐにGCしたいなら

GC.Collect();

をする。

多分ジェネレーション0だろうから

GC.Collect(0);

でいいのでは
レスをござます。
作ってるクラスがIDisposableを継承しないとダメってことですか?
作ってるのはインスタンス作らなくてもいいstaticクラスなんですけど。

GCは効果の程を確認できないですが、やってみます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.172s*