1read 100read
2013年06月プログラム22: C++相談室 part103 (128) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【PHP,Python】スクリプト,バトルロワイヤル35【Perl,Ruby】 (414)
C/C++以外の推薦図書/必読書のためのスレッド (109)
マルチプラットフォーム プログラミング言語 haXe (110)
ゲームプログラムなら俺に聞け28 (246)
Kinect ハック 2台目 (203)
開発工数を大幅削減できた言語は存在しない (102)

C++相談室 part103


1 :2013/06/15 〜 最終レス :2013/06/23
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。
前スレ
C++相談室 part102
http://toro.2ch.net/test/read.cgi/tech/1368314383/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.84【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1367137639/
■長いソースを貼るときはここへ。■
 http://codepad.org/
 http://ideone.com/

2 :
乙乙〜

3 :
STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後R。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
>>1

4 :
質問です
std::regex ex("[abc]{2,4}.*");
auto result = std::regex_match("bbbXXXX", ex);
ここで "bbb"を取り出したいのですが
どげんしたらよかですか?

5 :
C++でなく正規表現だろ

6 :
[abc]{2,4}を()で囲んでmatch_resultsを用意してそれを受けるregex_matchを使ってその結果から取り出せ

7 :
>>6
ご回答ありがとうございます
最初の4文字は取り出せたのですが
その後がうまくいかんです
http://ideone.com/ZK7m6t
aXでなくXを取り出したかったですが
どげんしたらよかですか?

8 :
それは取り出すじゃなくて取り除くって言うと思うんだが、
括る場所変えるだけでいいし正規表現勉強してこいボケ

9 :
ideoneのパターンのキャプチャ動作がおかしくない?
. なのに2文字返ってくるし

10 :
>>9
Visual C++だと (.) は X になるね

11 :
gccのregexは公式には未実装(扱い)だからしかたない

12 :
コメントアウト外したら落ちるぞw
http://ideone.com/abnB6q
確かに未実装のようだ

13 :
boostの正規表現とは仕様が違うの?

14 :
>>13
デフォルト動作が違うみたい。モードフラグがいくつかあったべな。
あと、VC++10でバグっぽいのが見つかったので、報告済み。

15 :
boost.regexと設計と使い方は同じ。細かい違いはある

16 :
boostをそのまま持ってくればいいんじゃないの?と思ったが
若干違いがあるのね
でも未実装扱いってことは、
boostさん、gccにそのまま使わせてあげてないってこと?

17 :
質問です
heapクラスを作れと言われたのですが、
ヒープクラスというと、一般的にどんなものを用意すればよいでしょうか?

18 :
要件が「クラス名がheapであること」だけなら
class heap { };
としか作りようがない
つーか要求にないことを勝手にやってはいけない
一般的にというならstd::make_heapあたりを参考にすべきだろうな

19 :
ヒープってのが本当にデータ構造としてのヒープなら
そういうのでいいけど
ヒープメモリを確保するクラスという意味なら・・・まあそんな事は無いか

20 :
ヒープ(Heap)は、木構造の一つ。単に「ヒープ」という場合、二分木を使った二分ヒープを指すことが多いため、そちらを参照すること。
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Binary_heap_indexing.png
ヒープ - Wikipedia

21 :
>>19
確かにheapがデータ構造のことなのかヒープ領域なのかという事にも悩みました
ただ1つ書き忘れていたことがあって、速度を優先した〜 とあったのと、
一応色々ネットで調べた結果、mallocとかfreeとかを使って、ヒープ領域を確保するクラスのことなのかなぁ
という予測はしました。
ただそれでもハッキリとしなかったので、
heapクラスといえばこういうものだよ というものがあればと思い質問させてもらいました。

22 :
どういう流れで出された課題なのかが問題だ

23 :
速度を優先〜ならば new を使ってヒープにインスタンスを確保しないだろうし‥‥
そのヒープクラスってどういう意味かこっちがききたいくらいだ。
まさか二分ヒープ=配列による実装のこと?それならば速いだろうが‥‥
ここでやってたやつね
http://toro.2ch.net/test/read.cgi/tech/1364700745/984,981

24 :
普通はヒープ構造を配列で実装する事を指すんじゃないかなあ

25 :
仕様が不明瞭だったら責任者に問い合わせてボコボコにしてやれ
それが社会に出てから必要な能力になる

26 :
いろいろ意見、情報ありがとうございます
どうやらデータ構造派の方が多そうですね・・・
とりあえずそちらで作成して、
やんわりと仕様がよくわからなかったという文句とともに提出しようかと思います

27 :
C++のnewは「フリーストア」から
メモリを確保します。
ヒープメモリ何それ。

28 :
もし仕事ならちゃんと確認した方がいいと思うけど
学校の宿題ならデータ構造だろうけど、会社だとメモリの可能性もある

29 :
newの実装は大体mallocだぁね

30 :
ヒープクラス = 二分木クラス

31 :
newまたはNewは、C++を始めとしたオブジェクト指向プログラミング言語において、インスタンスを作成する演算子である。多くの場合、ヒープ領域からの動的メモリ確保(動的記憶域確保)を伴う。
って書いてあった

32 :
C++ の規格ではヒープという言葉で表現されてなくて
フリーストアって書いてあるんだよね
データ構造のヒープと紛らわしかったからかは知らないけど

33 :
高速化のためにメモリプールとか使う処理系が多くなったのかな

34 :
C++でやろうとおもったので、ここで質問させてもらったのですが、
言語指定はないので言語特有の呼び方とかはあまり関係ないと思います
説明不足でしたすいません

35 :
make_heapつったろ
早く調べろ!

36 :
make_heapはもとの要求から外れる
>>18の言うように
 class ヒープ final {};
これが正解

37 :
何度もすいません
あれから色々なところを調べました。
自分の持っている書籍もみたところ、
>>23>>24
のように二分木を配列で実装することのような気がします
とはいえ確実ではないので
class Heap{};とかくしかないのでしょうが
やはり何かは書いておきたい
ということで、>>23のスレを参考にしたいと思います
何度も付き合っていただきありがとうございます

38 :
class Heep {
 // <algorithm>のstd::make_heapで何かする予定
};
これでおk

39 :
Cのaligned_allocに相当する関数はC++にありますか?

40 :
ないね
C11対応コンパイラならC++でも使えるんじゃないの?とは思うが、知らん

41 :
>>40
素早い回答ありがとうございます
#include <stdlib.h>
でイケました

42 :
何で使えないかもと思ったんだろうか。

43 :
このプログラムですが
名前と得点をリンクさせて順位の表を作りたいです
教えてください
http://up3.viploader.net/ippan/src/vlippan316685.png
http://www1.axfc.net/uploader/so/2939789

44 :
>>43
・「void main()」
・ローマ字変数名
・定数部分を開業せず横にベタ書き
・構文内にスペースで隙間を開けず詰め詰め
・滅茶苦茶なインデント
俺は読むのを諦めた

45 :
>>44
そんなに見づらいのか・・・
申し訳ない
講義でやったのをいじっただけなんだ
課題はこれで
http://up3.viploader.net/ippan/src/vlippan316688.png
配列を使って書くんだそうで
ifを使えだそうなんだ
教えてください

46 :
宿題スレ行けよ
C/C++の宿題片付けます 165代目 http://toro.2ch.net/test/read.cgi/tech/1370255305/
荒れててまともに機能してないかも知れないが2chはそんなものだ

47 :
>>45
エクセルのシートをワードに貼り込んで送り付けてやりたいw
提出方法について泣くまで問い詰めたい。

48 :
何で学校の先生にきかないんだろうな
学費にはそういう費用も含まれてるのに
親が払った学費をドブに捨てるのが趣味なのかな

49 :
>>47
寧ろ、VBAで書いてしまいたいw

50 :
>>45
>講義でやったのをいじっただけ
百歩譲ってそうだとしても、変数名ローマ字云々は一般には糞扱いだぜ?
(特に「void main()」は厳密には文法違反だし)
と言うか、
仮にデータ部分を外部ファイルに分けて用意することが許されなかったとしても、
仮にmain以外の関数を定義することが許されなかったとしても、
仮に構造体や長い英字変数名(キャメル記法)を使うことが許されなかったとしても、
もうちょい分かりやすく書けなかったのかと言いたい

51 :
>>45
>44に付け加えて、
・CなのかC++なのかはっきりしろ。
・変数宣言は、局在化したいのか関数の先頭に分離したいのかはっきりしろ。

52 :
出題者の色々アレな点を鑑みると、void meinでなくて良かったと考えるべきだろうw

53 :
おまいら意地悪だな
デジカメでこれだけクリアな画像が撮れる奴がいるか?
もっと驚嘆してやれよ

54 :
これでも読んでもちつけ
http://japan.zdnet.com/development/sp/35032305/

55 :
>>51
C++スレでC++の文法に従ったプログラムを
見せているのに、Cなのかはっきりしろとは
これ如何に

56 :
>>55
C++の流儀に従うなら従う、必要機能以外C互換機能で済ますなら済ます、どっちかにしろってことだろう。
でも任意箇所での変数宣言はC99とかならCでもできるし(-Dprintf_s=printfつければtccでも通る)、
printf_sに目を瞑ればた只々下手クソなCコードととしてコンパイル通るといえば通る。
(手元にあるVC2010のCL /TCでは非ブロック先頭変数宣言でコケるので違うかもだが)
printf_s使ってる辺り(聞きかじりの)新機能使ってCのコード書いてるつもりなのか、
C++の講義だけどCのAPIしか叩かないちょっとアレな方針なのか、どっちだろうな。
scanf/printfは便利だけど、C++の講義なら早々に済ませてstd::cout/std::cin使うべきだろう。

57 :
バカほど長文

58 :
>>56の要約:
「C++というなら素直にiostream使っとけ」

59 :
iostreamは糞だから別にmustじゃない

60 :
iostreamを駆逐しうるライブラリは?

61 :
ストリームデバイスの抽象化としてiostreamの設計は妥当で悪くない
ブロックデバイスに対してもストリームデバイス用に設計されたインターフェイスを使わなければならないことが問題だろ

62 :
cout << a << b << c
これはいいけど
cin >> a >> b >> c
これはおかしい
論理性のカケラも無い

63 :
質問させてください。
#ifdef FOO
 int var;
#endif
だと宣言のたびに3行も使ってしまって見づらいので、
初めに
#if 1
# define FOO /##/
#else
# define FOO
#endif
として、以降
FOO int var;
と1行で書こうと思いました。
vc++ではこのやり方でうまくいくのですが、
xcodeでは Pasting formed'//', an invalid preprocessing token というエラーになってしまいます。
コメントアウトのオンオフを1行でこなせる、環境依存でないマクロというのはないのでしょうか?

64 :
まさかと思うが、ObjectiveCじゃないだろうな。

65 :
いえ、開発環境としてxcodeをつかってはいますが、c++のコードです。

66 :
#define DEF_VAR(type,name) type name;
DEF_VAR(int, var)
こういうのは見かけるけど

67 :
>>45
ほれ
http://ideone.com/AjCNng

68 :
>>63
それ、gccでもエラーになる
これでいいんじゃね?
テンプレートとかでstatement中にカンマが入るとおかしくなるんで
そういう場合は事前にtypedefしておく
#if 1
#define FOO_CASE(statsment)
#else
#define FOO_CASE(statement) statement
#endif
FOO_CASE( int var = 6 );

69 :
>>63
関数内の宣言限定。
http://ideone.com/ykPJCB

70 :
そこは
#define UNKO if ( true ) ; else
じゃねーの

71 :
可読性をあげることが目的なのでタイプ修飾子と同じような書式が理想だったのですが、
DEF_VAR(int, var) やFOO_CASE(statement) statement のように括弧を使うしかなさそうですね。
#ifdefマクロを使うよりは読みやすそうですし、これで試してみます。
ありがとうございました。

72 :
>>70
これ C だと動くのか

73 :
>>69
どれだけ糞なコード思いつくんだよw
http://ideone.com/tCZsD9

74 :
そこは FUN in FUN だろ わかってねーな

75 :
if-else を使う方法は完全に消えるわけではないので
コンパイル対象になるから注意が必要
#ifdef を使った方が
エディタが色付けしてくれるので
読みやすい気もする

76 :
一番のウンココードは
#ifdef FOO
 int var;
#endif
環境依存のコードは局所化しろよ。

77 :
分りやすく猿にも分かるコードを書くのが職業プログラマー
難解だけど高度な内容を含んでいるのが個人プログラマー

78 :
という、コード書けない奴の思い込みでした。

79 :
>>78
言ったな
コード書いてみろや

80 :
>>79
http://toro.2ch.net/test/read.cgi/tech/1313183984/

81 :
>>77
猿にも分かる--->単純アルゴリズム
いきなり、矛盾だな。

82 :
カスしかいないスレ

83 :
職人かと思ったがよくみたら職業マか
分りやすく猿にも分かるコードを書けるのは才能だぞ

84 :
>>81
待て待て、その方は京大の・・・

85 :
>>80
なんだ>>78はQか
Qが荒らしているという事実が判明しました

86 :
どこが荒らしなんだか

87 :
本当のプロフェッショナルは仕様書を書くのが楽でテストも自動化しやすいものを作る
つまり純粋関数型だけが真のプロフェッショナルに許された技術なのだ

88 :
キチガイ現る

89 :
真実をズバリと突かれて平静を保ちたいがために声を荒げて反論したくなる気持ちもわかる
しかし君が何と言おうと関数型が世界の選択である事実には変わりないのだ

90 :
シロナガスクジラにもでかすぎる釣り針で何が釣りたいんだ?

91 :
おろかなる旧人類よ
君たちが関数型の真価に気付き
種としての夜明けを迎えるのは何年後だろうか?

92 :
ここは、「ボクのかんがえたさいきょうのぷろへっしょなる」を開陳する場だぜ。

93 :
消費するスタックサイズ計算出来ない奴はお呼びじゃない

94 :
仕事で古いC++のアプリの保守することになったんだけど
今までC++の経験がなくて何から勉強すればという状態です。
保守するプログラムは
VC++6.0
MFCは使っていない
とりあえず、
新Visual C++6.0入門 ビギナー編
http://www.amazon.co.jp/gp/product/4797307609/
新Visual C++6.0入門 シニア編
http://www.amazon.co.jp/gp/product/4797308028/
を買ってみたんですがほかにお勧めとかあったら教えてください。
よろしくお願いします。

95 :
>>94
http://www.amazon.co.jp/gp/aw/d/4478017247/ref=mp_s_a_1_3?qid=1371729929&sr=8-3&pi=SL75

96 :
>>94
Bjarne Stroustrup. The C++ Programming Language Fourth Edition

97 :
ハゲの妄想本は糞
絶対読むな

98 :
いや、4th は買いだよ
立ち読みでいいから確認してみな
あれ以上に解りやすい説明を、おまえできるか?

99 :
>>94
仕様書が一番わかりやすいよ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part16 (128)
くだらないアルゴリズムを考えるスレ (183)
つまりRubyってPerlの後続じゃん? (192)
【日本語不自由】Eclipse Pleiades プラグイン (124)
JAVAってこんなことも出来ないの? (670)
【関数】Erlang Part 2【エリクソン】 (176)
--log9.info------------------
&#9832;奥日光湯元温泉 Part4&#9832; (101)
山梨の温泉を語ろう Part2 (200)
【島根】源泉掛け流し【鄙びた】 (105)
てめーら最低だ!体験した極悪入浴マナー (103)
【全軒無料?】(新)自遊人パスポート 1冊目 (174)
秘湯ロマン (150)
バイクで温泉2 (198)
【九州】温泉本部長の九州情報4【温泉】 (129)
【SAKURA】東京染井温泉さくら【巣鴨】 (117)
料理がかなりうまい温泉宿 (138)
黒根岩 オワッタ (103)
台湾の温泉 Part2 (124)
横浜の温泉、スパ銭湯 (124)
混浴の男の人数は異常 (161)
ぬるい温泉と冷たい鉱泉のスレッド 2 (195)
定山けいおん泉 (141)
--log55.com------------------
【バーチャルライバー】月ノ美兎 #167【委員長】
【【バーチャルYoutuber】にじさんじアンチスレ193【('ω')応援スレ】
【ゔいちゅぅばぁ】にじさんじアンチスレ189【邪教シスター応援スレ】
【暗黒放送オワコン横山緑】くぼた学/久保田学 前科一犯 アンチスレ★96【現職議員が一般人に暴行】
【バーチャル】ミライアカリ/萌実/ヨメミ/エイレーン #35【YouTuber】
【バーチャルYoutuber】にじさんじアンチスレ188【シロウケン文野環応援スレ】
【バーチャルライバー】月ノ美兎 #172【委員長】
【バーチャルYoutuber】にじさんじアンチスレ200【仮面ライダーカブト応援スレ】