[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/31 01:11 / Filesize : 246 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.59【環境依存OK】



1 名前:デフォルトの名無しさん [2008/03/30(日) 01:50:26 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.50【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1204124447/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm



309 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:00:35 ]
C言語から自作したAPIを呼び出すにはどうすれば良いのでしょうか?
Windows APIは、#include <windows.h>で呼び出すことができるようなのですが、
ソフトウェア屋が作ったAPIをCのソースから呼び出す方法がさっぱり。

ググっては見たのですが具体的な書き方が見つかりませんでした。
参考になるサイト、もしくはソースがあれば教えてください。

310 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:02:40 ]
extern "C"

311 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:04:05 ]
>>309
DLLを動的に呼び出すか、ソースなら#include ""だろ

312 名前:デフォルトの名無しさん [2008/04/03(木) 22:06:51 ]
operator<<()の定義の中で、宣言なしにwsという変数を使ってwhite spaceを読み込んでいるものをみたのですが、
これが一体なになのかわかりません。コンパイルは出来ているのでつかえるみたいなのですが、、
ググってもいいのがひっかかりません。どうか教えてください。



313 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:20:15 ]
>>310-311
ソフトウェア屋が用意したAPI(恐らくDLL)を手元のCソースから利用したいんですが…
いまいちわからないです。C言語をやるのは初めてで。

314 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:22:13 ]
恐らくとか言われても・・・。
.lib をリンクして提供されてるヘッダファイルインクルードすればいいだけじゃね?

315 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:23:48 ]
LoadLibrary

316 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:35:46 ]
>>312
空白を読み飛ばすマニピュレータのstd::ws

317 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:36:49 ]
>>297
OS/2やTOWNS-OSでもDLLだったけど生き残ったのはWindowsだけか



318 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:40:25 ]
OS/2はNTの元ネタみたいなもんだし

319 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:40:38 ]
>>314
なるほど…APIを触ったことがないのでどういうものかわかりませんでした。
ライブラリと同じような扱いでインクルードできるんですね。
ありがとうございました。

320 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:43:17 ]
OS/2 って何?そんな子はいませんでしたよ!

321 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:45:56 ]
API
ttp://e-words.jp/w/API.html

322 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:42:51 ]
std::mapのinsert()で戻ってくるiteratorとboolのpairな型はどこかに定義されていないの?

323 名前:デフォルトの名無しさん [2008/04/03(木) 23:43:33 ]
c++のcomplexのoperator>>の実装を見たのですが、4+5i という複素数があったとすると、
(4,5) という文字列で入力するようになっていました。実装は()とかの括弧やコンマをみて
ちゃんと処理やってたのですが、普通に考えたら、4+5iとかの文字列の入力の方が自然なような
気がするのですが、(4,5)の方がよいという理由がありますか?
よろしくお願いします。



324 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:47:48 ]
C言語が(,)の入力に対応している点
a+biはC言語が対応していない

325 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:44:30 ]
他人の書いた CやC++ソースが大量にあったとして、
コード解析するときってどうやってる?

Linux 環境で grep や vim + ctags で解析 → gdb で動作確認なんて
やり方してる俺は激しく時代遅れな希ガス

326 名前:デフォルトの名無しさん [2008/04/04(金) 00:51:17 ]
>>325
動作させられるなら、動作させてみて、どの関数が一番頻繁に呼び出されてるかをみてみる。
全体の20%のコードが80%の時間を使ってるというしな。

327 名前:デフォルトの名無しさん [2008/04/04(金) 01:06:04 ]
>>324
c言語が対応してないというのは、どういう意味ですか?
scanf()で一文字づつ読み込んで解析すればできませんか?





328 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:14:47 ]
>>327
文字列を解析すればできるよ
しかし、直接プログラム内で kansuu(x,y)とかけるのとは違う

329 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:15:14 ]
>>327
何がいいたいのかよくわからんが・・・
>complex x = 3 + 2i;
って使い方がしたいんじゃないのか?そいつぁ無理だ。(少なくともおれの知識じゃ)
なぜそこでscanfが出てくるのがさっぱりわからんが
>complex x = "3 + 2i";
なら、実装は可能だ。
ただ、種々の書式に対応するとめんどくさそうなことこの上ない実装になりそう。

330 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:15:48 ]
プログラム内では、(x,y)の形にするか複素数型に変換するしか無い

331 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:22:17 ]
scanf("%d+%di", &x, &y);
みたいな?w

332 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:35:28 ]
いや、入力は文字列で扱ってるんだが、
"1+2i"じゃなくて、"(1,2)"みたいに、実装してあるのは何で?
って質問だと思われw

333 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:54:54 ]
C++標準のcomplexって使ったことないんだけどそういう仕様なの?
仕様なら仕方ないが信じがたいんだがw

334 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:58:38 ]
C++はこうだろ?

std::complex<double>(1, 3)

335 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 02:10:39 ]
complexをiostreamで出力するときに、
"1+2i"じゃなくて"(1,2)"となっているのは何で?
ってことだろ。

336 名前:335 mailto:sage [2008/04/04(金) 02:12:00 ]
× complexをiostreamで出力するときに、
○ complexをiostreamで入出力するときに、

337 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 02:23:09 ]
コピペして使えるようにじゃね?



338 名前:デフォルトの名無しさん [2008/04/04(金) 02:41:24 ]
335の人が言っているのが、こっちの意図です。でも最初の人がC言語ではサポートしていない、
というのがどういう意味だったのかはわかりました。
文字列で扱うんなら、4+5iとかでも問題ないと思ったのですが、(,)で実装してしまったし、、、
4+5iとかはちょっと面倒くさそう。



339 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 07:40:38 ]
iだったりjだったりするからじゃねw

340 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:05:27 ]
テンプレートクラス作って、
そのポインタをlistにつっこんで
イテレータで走査しようとしたら怒られる

//Error
list<Hoge<T>*>::iterator it;

expected `;' before "it"

テンプレートクラスを
テンプレートのままぶち込むのがいけないのか、
それとも別のところがいけないのかでいいんで教えてください

341 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:30:31 ]
- list<Hoge<T>*>::iterator it;
+ typename list<Hoge<T>*>::iterator it;

342 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:34:55 ]
ああ、そういうことだったのね(´・ω・`)

ありがとー

343 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:35:00 ]
>>340
そりゃ型決まってないと無理でないか?
list<Hoge<int>*>::iterator it;
とかならいけると思うけど。


344 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 12:41:23 ]
gccだとちゃんとエラーはいてくれるがVCだと通るから困る

345 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 15:28:40 ]
を、2ページ目にも修正入ったみたいだな。

346 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:45:18 ]
教えて!!
言語を勉強したいのだが何がお勧め??
C++??Java??

347 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:46:17 ]
目的は?
趣味なら何でもいいと思うよ。



348 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:47:57 ]
>>346
BASIC

349 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:51:06 ]
>>347
>>348
仕事でUNIXのオペレータをしています。
言語を覚えてスキルアップしたい。と思っています。
でも色んな言語がありすぎて何を始めればいいのか
分かりません。今の時代にあっていてこれからも使っていけそうな
言語を教えて下さい。お願いします。

350 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:53:20 ]
>>346
スレタイが読める程度の日本語。

351 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:53:45 ]
UNIXならまずはシェルスクリプトからはじめてみては?
で、awk&sed、perl、python or rubyと進むとか。

352 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:57:41 ]
C/C++のスレで訊かれたなら、やっぱりC/C++と答えるべきか

353 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:58:14 ]
C#といってみる

354 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:59:02 ]
C++では簡単に出来てJavaでやりにくい事
その逆などを教えて下さい。

355 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 17:03:38 ]
その手の質問はぐぐったほうが丁寧な解説出てくるよ
ここで聞いてもすれ違いのうえ端的だったり極端すぎる答えしか返ってこないよ

356 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 17:15:06 ]
初心者のためのプログラミング言語ガイド Part7
pc11.2ch.net/test/read.cgi/tech/1200807067/

357 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 20:28:22 ]
初心者はまずこれを読んで
ポインタを理解すること

builder.japan.zdnet.com/sp/c-programming-language/story/0%2C3800083430%2C20370255%2C00.htm


これができない奴はC/C++いじるの辞めろ
適正が0かマイナスだ



358 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 20:58:48 ]
>>94

359 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:22:45 ]
それ1週間前のネタ

360 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:50:48 ]
C++にポインタ排卵だろ

361 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:57:43 ]
まあ大部分は排除できるな。

362 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:21:10 ]
constメソッドからでもポインタ型メンバの参照先なら操作し放題とか駄目活用している

363 名前:238 mailto:sage [2008/04/04(金) 22:32:21 ]
protectedでstaticな独自クラスの配列の参照の初期化で他のクラスのメンバ変数を与えたいんですが
無理ですよね・・・?
もし他のクラスのstatic変数なら大丈夫でしょうか?

364 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:36:38 ]
RTTIは実際にどういう場面で使われるんですか?

template<typename T> void hoge(const T &a) {
  if (typeid(a) == typeid(int)) { ... }
}

とかやるんですかね

365 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:37:35 ]
クラスのインスタンス自身への参照ならいくらでも可能だと思うが、
その中のメンバ変数と言われると難しいというか、
そもそもそんな怪しい事しようとしている事にまず疑問を持たざるを得ない。

366 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:38:45 ]
>>364
dynamic_cast も RTTI を利用してる。
typeid はあまり使う事は無いな。

367 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:54:27 ]
dynamic_castなら、よくこういう状況で使いたくなる。
1. ライブラリの用意した基底クラスBから派生した自作クラスDを作る。
2. Dのインスタンスをライブラリに渡す。
3. ライブラリからのコールバックで2で渡したものがB型への参照・ポインタで与えられる。
この例だと結局boost::polymorphic_downcastにするんだけどね。

>>364
その例だったら特殊化で十分。



368 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:00:11 ]
配列の参照のスタティックなクラス変数のクラス定義外での宣言って
Hoge Piyo::(&foo)[][100];
じゃないの・・・?

369 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:05:51 ]
とりあえずコンパイルの通るコードを頼む

370 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:09:04 ]
>>360

多態とか

371 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:09:50 ]
スマートポインタでいい。

372 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:58:47 ]
でいいというか、ポインタ使えないなら、ポインタもどきを使うしかない。
クラスがメンバに参照を持つとコンテナに突っ込めなくなってしまうので、
嫌でもポインタ使わなきゃならないと思うんだけど。



373 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 00:07:58 ]
大体ポインタを理解できないならスマートポインタも理解できないかと
360は何を言いたかったのだろう

374 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 00:08:53 ]
スマートポインタはアドレス演算とかやらないから
scoped_ptr くらいなら何とかなるんじゃね?

375 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 00:15:57 ]
ダメな奴は、やり方が言語仕様に引っ張られる。

376 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 00:17:42 ]
いやイテレータ使うならアドレス演算と大して変わらないんじゃないか
ポインタわからないようではC++できないというのは真実だと思うけど

377 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 01:24:51 ]
排卵日



378 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 03:16:18 ]
メンバ変数の文字列の一部を新しい文字列として返したいんですが
どういう方法がありますか?

こういうのです

class Test {
private:
 char data[256];
public:
 char * getStr()
 {
  char *ret = new char[3];
  ret[0] = data[0];
  ret[1] = data[1];
  ret[2] = data[2];
  
  return ret;
 }
};

これを

std::string str = getStr();

このように使った場合retのデリートができないので
メモリリークしますよね?何かいい方法ありませんか?

379 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 04:35:02 ]
const std::string getData() const { return std::string( data ); }

380 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 06:48:36 ]
終端に '\0' を追加するのも忘れずに

381 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 08:04:56 ]
クラスがメンバに参照を持つとコンテナに突っ込めなくなってしまうので、

382 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 08:49:39 ]
void getStr(std::string& str) const {
 str.assign(data, 3);
}
std::string getStr() const {
 return std::string(data, 3);
}

後者は代入する時にコピーが発生するので場合によっては効率悪いが
(初期化の場合は大抵のコンパイラなら戻り値最適化してくれるので大抵コピーは発生しない)、
かといって前者は必ず変数用意しないといけない。

どっちにするか、あるいは両方用意するかはお好きなように。


まあ、string にどんなメンバがあるかくらい見とけ。
www.wakhok.ac.jp/~sumi/stl/header/string.html

383 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 10:43:49 ]
>>381
参照のようなconstなメンバー変数を持つとコピーコンストラクタが書けない
一方ほとんどのコンテナはメモリ確保を自動でするからコピーが発生する
常識だと思ってたんだけどどこかおかしいのか

384 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 10:53:24 ]
デフォルトコンストラクタが書けないと言った方が正しいか

385 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 11:06:11 ]
コピコンは書けるだろ?
書けないのは代入演算子。

386 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:09:51 ]
終了文字の\0って入れなきゃいけないんでしょうか。
サンプルで\0を使っているコードを\0消しても正常に動作するんですが。

387 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:14:40 ]
BCCで「異なる 〜型へのポインタが混在している」って出るんですが、
これってどうすれば解決できるんでしょう?
箇所は
vsprintf(unsigned char*,const char*,va_list);
って使ってるところなんですが、unsignedのポインタからsignedのポインタにはキャストできないって言われたし・・・



388 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:14:41 ]
>>386
コードによる。サンプル晒せ。
実はどこかで\0が付いているだけかもしれない。

389 名前:386 mailto:sage [2008/04/05(土) 12:28:09 ]
>>388
これです。
int CreateSave() {
HANDLE hFile;
SYSTEMTIME st;
TCHAR szTime[128];
TCHAR *lpszBuf;
DWORD dwAccBytes;
DWORD dwSize = 0L;
       HGLOBAL hMem;
DWORD dwLen;

GetLocalTime(&st);
wsprintf(szTime,_T("\r\nファイル作成時: %d年%02d月%02d日%02d時%02d分%02d秒"),
st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);

dwLen = (DWORD)lstrlen(szTime);


390 名前:386 mailto:sage [2008/04/05(土) 12:28:48 ]
続き

hFile = CreateFile(_T("ファイルログ.txt"),GENERIC_READ, 0, NULL, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
dwSize = GetFileSize(hFile, NULL) + dwLen;

hMem = GlobalAlloc(GHND, sizeof(TCHAR) * dwSize + 1);
lpszBuf = (TCHAR*)GlobalLock(hMem);
ReadFile(hFile, lpszBuf, dwSize, &dwAccBytes, NULL);
CloseHandle(hFile);
lstrcat(lpszBuf, szTime);
lpszBuf[dwSize] = '\0';
hFile = CreateFile(_T("ファイルログ.txt"), GENERIC_WRITE, 0,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
WriteFile(hFile, lpszBuf, (DWORD)lstrlen(lpszBuf), &dwAccBytes, NULL);
CloseHandle(hFile);
GlobalUnlock(hMem);
GlobalFree(hMem);

return -1;
}

391 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:30:09 ]
>>387
(const signed char *)にキャスト

392 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:50:12 ]
>>390
よく読んでないけどstrcat(lpszBuf, szTime);この時点で¥0がついてると思われ

393 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:58:53 ]
>>391
constってことは第2引数にですよね?やったら同じエラーが2個に増えたんですけど・・・

394 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:59:59 ]
constを破るキャストがあるんですが、あれがあったらconstの意味なくないですか?

395 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 13:04:11 ]
constは破るためにある
だから const const charがあるだろ

396 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:33:43 ]
>>390
lpszBuf = (TCHAR*)GlobalLock(hMem);
ReadFile(hFile, lpszBuf, dwSize, &dwAccBytes, NULL);
CloseHandle(hFile);
lstrcat(lpszBuf, szTime);
lpszBuf[dwSize] = '\0';

このあたりか。
何か無茶苦茶危険なコードに見えるんだけど。

hMem = GlobalAlloc(GHND, sizeof(TCHAR) * dwSize + 1);  ← dwSize 文字分のメモリを確保してるつもりのようだが、+1 の位置がおかしい(TCHAR が2バイトの時に領域が足りない)
lpszBuf = (TCHAR*)GlobalLock(hMem);
ReadFile(hFile, lpszBuf, dwSize, &dwAccBytes, NULL);  ← dwSize 読み込む
CloseHandle(hFile);
lstrcat(lpszBuf, szTime); ← '\0' を付けないまま lstrcat は危険というか、szTime の文字数分領域がさらに必要なんだけどその領域を確保すらしていない
lpszBuf[dwSize] = '\0'; ← lstrcat の前に行う

397 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:35:01 ]
しかも、lpszBuf[dwSize] = '\0'; じゃなくて lpszBuf[dwAccBytes] = '\0'; だな。



398 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:41:08 ]
Unicodeビルドかどうかで、ファイルの文字コードまで
影響を受けるというのは良くない場合のほうが多いと思うけど、
それはいいのか?

399 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:57:43 ]
何もひねらずに考えるとこうですが

if( n % 2 )
  printf( "奇数です\n" );
else
  printf( "偶数です\n" );

奇数か偶数か調べるもっともスマートなコードってどんなんですかね?


400 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:59:38 ]
int isOdd(int n){ return n % 2; }

if( isOdd(n) )
  printf( "奇数です\n" );
else
  printf( "偶数です\n" );

401 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:00:21 ]
スマートってのが読みやすいって意味ならそれでいいんじゃね?
スマートが短いって意味なら、いろいろあるだろうけど。

402 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:00:43 ]
inline bool isOdd(int n) { return n % 2 != 0; }

403 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:07:03 ]
下位1bitでも調べればいいんじゃね
スマートといえるかわからんけど

404 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:08:36 ]
最下位ビット調べて0なら偶数

405 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:09:05 ]
かぶった><

406 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:10:52 ]
この程度なら最適化されないのかな?

407 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:23:00 ]
まともなコンパイラならするよ。



408 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:00:52 ]
std::string のfind()とfind_first_of()の違いって何ですか?
どちらも最初の位置を返すと思うんですが

409 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:04:02 ]
findはコンテナから特定の要素を見つける。
find_first_ofはコンテナから特定のコンテナの要素を見つける。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<246KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef