C++相談室 part118 [転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2015/07/04(土) 09:38:36.75ID:G5g709D9ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。
前スレ
C++相談室 part117
http://peace.2ch.net/test/read.cgi/tech/1431187685/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.96【環境依存OK】
http://peace.2ch.net/test/read.cgi/tech/1433514467/
次期規格C++1zはこちら
C++14/C++1z 20
http://peace.2ch.net/test/read.cgi/tech/1410382924/
■長いソースを貼るときはここへ。■
http://codepad.org/
http://ideone.com/
0002デフォルトの名無しさん
2015/07/04(土) 09:39:35.30ID:G5g709D9環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
0003デフォルトの名無しさん
2015/07/04(土) 11:37:16.43ID:QmGdxaUH0004デフォルトの名無しさん
2015/07/04(土) 15:51:15.94ID:l29Ffi6Jこのスレを象徴するテンプレ級のレスだったんだな
0005デフォルトの名無しさん
2015/07/04(土) 15:53:15.74ID:gjELz4/q>>2のはどういう教訓を引き出すべきテンプレか知らんが
答1とそれへの返レスは両方ズレている希ガス…
0006デフォルトの名無しさん
2015/07/04(土) 18:18:39.67ID:1ZQW+MUi0007デフォルトの名無しさん
2015/07/04(土) 22:58:06.56ID:3xWIqk31std::size_t size(T (&)[N]){return N;}
int a[] = {1,2,3,4,5,6};
int b[size(a)];
これってなぜ駄目なの?
0008デフォルトの名無しさん
2015/07/04(土) 23:11:03.30ID:G5kv+af4C++は可変長配列使えんよ
http://ideone.com/QiHdwJ
0009デフォルトの名無しさん
2015/07/04(土) 23:33:26.60ID:3xWIqk31でできました。
0010デフォルトの名無しさん
2015/07/04(土) 23:44:24.79ID:USmXgrQ3最初から分かってて意地悪な質問をしたような感じだな
>>7がなぜ駄目なのか分かったからではなく、>>7とは無関係に
Cでも使う普通の方法を使うのか
0011デフォルトの名無しさん
2015/07/05(日) 01:06:22.59ID:IOa8X0/vC++を使う人が皆Cを知っているという前提で物申さないで下さい。
0012デフォルトの名無しさん
2015/07/05(日) 01:20:49.80ID:4iikpGtA0013デフォルトの名無しさん
2015/07/05(日) 01:50:42.30ID:keYQv13Lどこかに元のvectorのコピーを持っておいて、帰ってきたvectorとoperator==で比較するしかない
要素が変更されたのをきっかけにイベントを起こす仕組みはない
0014デフォルトの名無しさん
2015/07/05(日) 02:36:42.89ID:lCpYuFElstd::vectorをラップしてちょこちょこやればいける
0015デフォルトの名無しさん
2015/07/05(日) 02:59:19.97ID:18u325sL↑ ↑ ↑ ↑ ↑ ↑
0016デフォルトの名無しさん
2015/07/05(日) 07:14:45.66ID:3yF620GD0017デフォルトの名無しさん
2015/07/05(日) 07:19:55.65ID:9bLmxRefVCみたいにC++への対応が遅れていて一部使えないコードがあるコンパイラもある
また、最適化へのアプローチが違うと言ってもそれが原因でトラブルが起きることも
0018デフォルトの名無しさん
2015/07/05(日) 08:54:13.26ID:3yF620GD0019デフォルトの名無しさん
2015/07/05(日) 09:19:06.17ID:WGmLmkq6typedef ratio<1, 1000000000000000LL> femto;
typedef ratio<1, 1000000000000LL> pico;
typedef ratio<1, 1000000000> nano;
typedef ratio<1, 1000000> micro;
typedef ratio<1, 1000> milli;
typedef ratio<1, 100> centi;
typedef ratio<1, 10> deci;
typedef ratio<10, 1> deca;
typedef ratio<100, 1> hecto;
typedef ratio<1000, 1> kilo;
typedef ratio<1000000, 1> mega;
typedef ratio<1000000000, 1> giga;
typedef ratio<1000000000000LL, 1> tera;
typedef ratio<1000000000000000LL, 1> peta;
typedef ratio<1000000000000000000LL, 1> exa;
0020デフォルトの名無しさん
2015/07/05(日) 09:54:14.20ID:l0m/aJzY0021デフォルトの名無しさん
2015/07/05(日) 11:58:54.38ID:HjOooaLzダメじゃない
constexprが必要ってだけ
template<class T,std::size_t N>
constexpr std::size_t size(T (&)[N]){return N;}
0022デフォルトの名無しさん
2015/07/05(日) 12:22:22.12ID:LZa0Ka3h回避の一つにconstexprを付けることは否定しませんが
ダメなものをダメじゃないと嘘をつかないで下さい
0023デフォルトの名無しさん
2015/07/05(日) 12:25:55.43ID:3eXf18pA0024デフォルトの名無しさん
2015/07/05(日) 12:50:33.76ID:hu+N86wf0025デフォルトの名無しさん
2015/07/05(日) 14:00:11.59ID:AEF6+lq2どう見ても肯定です
0026デフォルトの名無しさん
2015/07/05(日) 14:06:32.37ID:IoTdVT02要するにアホ
0027デフォルトの名無しさん
2015/07/05(日) 14:21:17.67ID:4iikpGtAちょこちょこやったらできました。
0028デフォルトの名無しさん
2015/07/05(日) 14:22:59.10ID:IoTdVT02なぜなら作ってないから
0029デフォルトの名無しさん
2015/07/05(日) 14:38:35.36ID:9bLmxRef0030デフォルトの名無しさん
2015/07/05(日) 14:45:43.38ID:xvHHOED30031デフォルトの名無しさん
2015/07/05(日) 17:23:09.95ID:Nxm9Jx9p知りたいならお前がしつもんすれば?
0032デフォルトの名無しさん
2015/07/05(日) 18:22:16.36ID:iYOevc7g誰もお前のクソコードなんか見たくないんだが
0033デフォルトの名無しさん
2015/07/05(日) 18:31:19.17ID:HjOooaLz「ちゃっかり」とか「かっぱらう」誰かさんは違うんだろうけど
0034デフォルトの名無しさん
2015/07/05(日) 18:42:51.27ID:pEwkWnHAVisualStudioのlong型なんですがなんで4バイトなんでしょうか
(ソース:https://msdn.microsoft.com/ja-jp/library/s3f49ktz.aspx)
そのうえ、4バイトなのになぜ-2,147,483,648 〜 2,147,483,647の範囲の数を表せるのでしょうか
0035デフォルトの名無しさん
2015/07/05(日) 18:44:58.75ID:iTd7v0y0電卓持ってないのか?
0036デフォルトの名無しさん
2015/07/05(日) 18:48:28.89ID:pEwkWnHAすいません2^32計算したら整数の全体数はあってました
intとlong 同じ意味ってことですかこれ
0037デフォルトの名無しさん
2015/07/05(日) 18:52:57.74ID:7mm8DvHu>基本型 (C++)
>型のサイズに適用される制限を次の表に示します。 これらの制限は、Microsoft の実装に依存しません。
>long long 型 (または long int) は、int 型のサイズ以上の整数型です。
>Microsoft 固有の仕様
>long、unsigned long 4 バイト
https://msdn.microsoft.com/ja-jp/library/cc953fe1.aspx
0038デフォルトの名無しさん
2015/07/05(日) 18:55:12.73ID:tUkWE3v6intとlongが同じサイズでも問題ない
0039デフォルトの名無しさん
2015/07/05(日) 18:56:21.55ID:pEwkWnHAありまがとうございます!
0040デフォルトの名無しさん
2015/07/05(日) 18:58:53.82ID:nANRyZZl0041デフォルトの名無しさん
2015/07/05(日) 19:01:31.49ID:tUkWE3v60042デフォルトの名無しさん
2015/07/05(日) 19:03:18.80ID:Nxm9Jx9pほんなら、やいやい言わんと、黙っとたらええんちゃうんかい。
0043デフォルトの名無しさん
2015/07/05(日) 19:06:09.45ID:nANRyZZlAPIがlongを使うのはなんで?そこを聞いてるんだけど脳味噌ないのかな
0044デフォルトの名無しさん
2015/07/05(日) 19:07:29.76ID:tUkWE3v6覚えとけ脳たりん
0045デフォルトの名無しさん
2015/07/05(日) 19:08:41.79ID:FIM2dQbj0046デフォルトの名無しさん
2015/07/05(日) 19:16:32.15ID:7mm8DvHu0047デフォルトの名無しさん
2015/07/05(日) 19:36:46.37ID:iBmrqcDD0048デフォルトの名無しさん
2015/07/05(日) 20:06:24.85ID:T15n7zzS最低でも4バイト必要なとき
0049デフォルトの名無しさん
2015/07/05(日) 20:07:56.72ID:WGmLmkq6こういうやつはなにをやってもダメ
0050デフォルトの名無しさん
2015/07/05(日) 20:08:38.50ID:HjOooaLz0051デフォルトの名無しさん
2015/07/05(日) 20:13:27.55ID:k2LZVqRH自分がライブラリやアプリケーションプログムを作る際にどのうな基準でlongを使うべきかを訊いているのだろう。
>>49のような脳に障害のある人には難しい日本語だったかも知れないな
0052デフォルトの名無しさん
2015/07/05(日) 20:21:54.86ID:9bLmxRef0053デフォルトの名無しさん
2015/07/05(日) 20:22:06.00ID:lO585Fc3あら図星だったの?
じゃないとそんなに火病を起こす理由がないよね?
0054デフォルトの名無しさん
2015/07/05(日) 21:07:43.37ID:7Pp47qUulongの使いどころは互換性維持以外には無い。わかったか? ボンクラ。
0055デフォルトの名無しさん
2015/07/05(日) 21:10:40.68ID:nANRyZZl0056デフォルトの名無しさん
2015/07/05(日) 21:11:29.45ID:BPlVlNb90057デフォルトの名無しさん
2015/07/05(日) 21:11:49.14ID:iTd7v0y00058デフォルトの名無しさん
2015/07/05(日) 21:14:46.63ID:X+1MiY1Nボンクラ
そう言えば昭和時代にそんな言葉があったな。
強烈なカレー臭がする。
0059デフォルトの名無しさん
2015/07/05(日) 21:16:43.61ID:xZ75HXO40060デフォルトの名無しさん
2015/07/05(日) 21:46:04.75ID:WGmLmkq6とにかく安定していない。右に行ったり左に行ったりふらふらする。
0061デフォルトの名無しさん
2015/07/05(日) 21:52:15.67ID:xZ75HXO40062デフォルトの名無しさん
2015/07/05(日) 21:54:46.56ID:7mm8DvHu0063デフォルトの名無しさん
2015/07/05(日) 21:57:33.19ID:36tqoR8s0064デフォルトの名無しさん
2015/07/05(日) 21:58:53.16ID:xZ75HXO4頭のおかしいのが2、3人住み着いてる
前スレからいる
0065デフォルトの名無しさん
2015/07/05(日) 22:06:02.49ID:p6ovyGgTintがshortより大きいか否かは処理系依存なのでshortより大きい整数として常にintで良いわけではない
intは多くの場合「ターゲットのアーキテクチャでもっとも自然に扱える整数」だが
処理系依存であることに変わりは無く、アーキテクチャと処理系を指定しない限り絶対視はできない
>>43
APIのユーザーがコンパイラを変えたからといって
APIをソースからリビルドさせたくない、という場合は
intを使うのは避けて、longとかshortとかで型のサイズを明示する
必要がある
0066デフォルトの名無しさん
2015/07/05(日) 22:09:19.67ID:p6ovyGgT>APIのユーザーがコンパイラを変えたからといって
>APIをソースからリビルドさせたくない、という場合
にとるべき処置の十分性となるとintのサイズだけでなくてABIも固定されるべき
あくまで>>65のは必要条件、
0067デフォルトの名無しさん
2015/07/05(日) 22:09:52.18ID:iTd7v0y0それ言ったらlongもlong longもダメじゃん
0068デフォルトの名無しさん
2015/07/05(日) 22:10:16.75ID:ZhayjidG21世紀にもなって
こんな事言うバカがまだいたとは
0069デフォルトの名無しさん
2015/07/05(日) 22:12:33.02ID:7mm8DvHu0070デフォルトの名無しさん
2015/07/05(日) 22:13:57.39ID:p6ovyGgTなんで?
longは32 bitと決まっている
(2の補数表現を使うか否かは実はC89の規格上は処理系依存だったりするが
とにかくサイズは決まっているから処理系が決まっていないのに不用意にintを使うよりは確実な設計とできる
0071デフォルトの名無しさん
2015/07/05(日) 22:16:12.88ID:iTd7v0y0いいえ
char ≦ short ≦ int ≦ long ≦ long long
と決まっています
0072デフォルトの名無しさん
2015/07/05(日) 22:17:39.76ID:tUkWE3v6gccはCコンパイラじゃありませんーんてか
0073デフォルトの名無しさん
2015/07/05(日) 22:18:25.73ID:HjOooaLz以上でfa
0074デフォルトの名無しさん
2015/07/05(日) 22:18:26.94ID:KUYLTxCp0075デフォルトの名無しさん
2015/07/05(日) 22:19:24.18ID:7mm8DvHuそのうちintが64ビットのコンパイラが出ると思う。
0076デフォルトの名無しさん
2015/07/05(日) 22:20:47.70ID:iTd7v0y0longを否定できないんならintも否定できない
矛盾してる
0077デフォルトの名無しさん
2015/07/05(日) 22:26:18.41ID:70VDGlmKintが2バイトとか4バイトとか8バイトとか気にしないといけないc、c++ってめんどくさい。もうこの際intは16バイトにしてしまえばいい。この先20年は持つだろう。そして文字コードも16バイトにすれば、真のunicodeが実現出来るだろ。
0078デフォルトの名無しさん
2015/07/05(日) 22:33:26.19ID:vErDTdf81.intが16ビットだとオーバーフローする
→それは仕方ないな。気にすると禿げるぞ
2.サイズ変わったら困るだろ
→お前のコードが糞なだけ
0079デフォルトの名無しさん
2015/07/05(日) 22:41:38.28ID:p6ovyGgTISO/IEC 14882:2011の"3.9.1 Fundamental types”のやつ:
>There are five standard signed integer types : “signed char”, “short int”, “int”, “long int”, and “long
>long int”. In this list, each type provides at least as much storage as those preceding it in the list.
>There may also be implementation-defined extended signed integer types. The standard and extended signed
>integer types are collectively called signed integer types. Plain ints have the natural size suggested by the
>architecture of the execution environment44; the other signed integer types are provided to meet special
>needs.
(この後にunsignedの記述があるが同様なので略
型のサイズの順序は>>71の通り。
APIをintで規定するかshortやlongを使うかはAPI設計者の気まぐれで決めていいってことらしい
で、APIが決まったら呼び出す側はABIレベルでそれに合わせなければ動かないので
>2.サイズ変わったら困るだろ
という状況は往々にして発生する、
0080デフォルトの名無しさん
2015/07/05(日) 22:42:14.82ID:HjOooaLzhttp://docs.cray.com/books/004-2179-001/html-004-2179-001/rvc5mrwh.html
0081デフォルトの名無しさん
2015/07/05(日) 22:49:26.99ID:X6bGJd3kISO/IEC 14882:2011は廃版となった文書で現在有効な版ではありません
有効ではない文書を持ち出さないで下さい
0082デフォルトの名無しさん
2015/07/05(日) 22:55:03.29ID:X+1MiY1N馬鹿なの?死ぬの?
0083デフォルトの名無しさん
2015/07/05(日) 22:59:30.40ID:GVA9tcoa自分の発想力のなさをドヤ顔で語る。救いようがないですね。
0084デフォルトの名無しさん
2015/07/05(日) 23:00:36.63ID:p6ovyGgTようわからんがISO/IEC 14882:2014は有料っぽい
手元に無い
>>82
APIのユーザーなのでAPIの仕様とかヘッダファイルといったものに従うYO〜ヽ(´ー`)ノ
0085デフォルトの名無しさん
2015/07/05(日) 23:36:01.47ID:uqg5FaOTIDEはMVS2013使ってる。
0086デフォルトの名無しさん
2015/07/05(日) 23:37:49.50ID:HWgaAZQCここはお前のつぶやきクソレスを投下する場所じゃない
0087デフォルトの名無しさん
2015/07/05(日) 23:39:36.86ID:uqg5FaOT#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInst,
HINSTANCE hPInst, LPSTR pCmdLine, int showCmd){
ChangeWindowMode(TRUE);//ウィンドウモード
/*DXライブラリ初期化*/
if (DxLib_Init() == -1)return -1;
SetDrawScreen(DX_SCREEN_BACK);//裏画面に描画する設定
int handle = LoadGraph("test.png");//画像読み込み
while (true){
if (ClearDrawScreen() != 0) break;//画面消去。×が押されたら終了
/*処理開始*/
DrawGraph(0, 0, handle, TRUE);
/*処理終了*/
ScreenFlip();//裏画面を表画面に表示
if (ProcessMessage() != 0) break;//×が押されたら終了
}
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}
0088デフォルトの名無しさん
2015/07/05(日) 23:52:50.94ID:X+1MiY1Nコミュ障アスペはツイッターでつぶやいてた方がいい。
0089デフォルトの名無しさん
2015/07/05(日) 23:57:02.70ID:rJa9PlHMやーいアスペ(´・ω・`)
0090デフォルトの名無しさん
2015/07/06(月) 00:00:51.94ID:wXTEEwMeやーいカナー
0091デフォルトの名無しさん
2015/07/06(月) 00:08:19.10ID:EWqBVBeG0092デフォルトの名無しさん
2015/07/06(月) 05:23:24.61ID:/2XvxtWmプログラミングばかりじゃなくてたまにはネトゲもやりな
0093デフォルトの名無しさん
2015/07/06(月) 06:56:52.03ID:HQEeqqbBどういたしまして
0094デフォルトの名無しさん
2015/07/06(月) 14:08:37.47ID:KifmszY90095デフォルトの名無しさん
2015/07/06(月) 15:21:40.18ID:obJwiAn/働く場所によるかな
こだわる人はお役所仕事に向いてる
0096デフォルトの名無しさん
2015/07/06(月) 15:43:43.15ID:wXTEEwMeなるほど、おまえが言うと説得力すごいなw
0097デフォルトの名無しさん
2015/07/06(月) 19:23:23.80ID:XVuvh5SP0098デフォルトの名無しさん
2015/07/06(月) 19:29:22.82ID:zKWcKKso0099デフォルトの名無しさん
2015/07/06(月) 19:33:12.64ID:6JtYBPJH「ボクの環境では動いたんだもん!」
です。
0100デフォルトの名無しさん
2015/07/06(月) 20:10:03.27ID:mF5KS6670101デフォルトの名無しさん
2015/07/06(月) 20:10:45.49ID:FfofpD2W0102デフォルトの名無しさん
2015/07/06(月) 21:51:58.54ID:wXTEEwMeキャストにエンディアンは関係するか?
0103デフォルトの名無しさん
2015/07/06(月) 21:57:23.34ID:LeTT1hT80104デフォルトの名無しさん
2015/07/06(月) 22:08:04.06ID:wXTEEwMeshort* legs;
legs = (short *)&unko;
if(*legs == 0x1234) { こういうことするってか? }
0105デフォルトの名無しさん
2015/07/06(月) 23:12:03.49ID:6TyMU/GS0106デフォルトの名無しさん
2015/07/07(火) 00:02:14.63ID:KY4bh5nL0107デフォルトの名無しさん
2015/07/07(火) 00:06:45.01ID:HrqpQBKoお前禿をディスってんの?
0108デフォルトの名無しさん
2015/07/07(火) 00:14:55.44ID:5sz5+104解ってて書いてるのかもしれんがstrict aliasing ruleで未定義動作
0109デフォルトの名無しさん
2015/07/07(火) 07:28:16.85ID:kwUNJVp60110デフォルトの名無しさん
2015/07/07(火) 07:28:48.85ID:j2UeKJHsぐらいとかじゃないの
0111デフォルトの名無しさん
2015/07/07(火) 07:32:35.11ID:V0LXAxWh一人だけ飛び抜けたバカが一つ覚えの煽りをぶつぶつ言ってるだけで
0112デフォルトの名無しさん
2015/07/07(火) 07:33:04.88ID:Lcbl26q70113デフォルトの名無しさん
2015/07/07(火) 07:50:15.06ID:5sz5+104Debugビルドだとちゃんと動くんだけどReleaseビルドだと動かないって事になる
0114デフォルトの名無しさん
2015/07/07(火) 07:53:49.92ID:3TtiP8pN0115デフォルトの名無しさん
2015/07/07(火) 07:56:38.13ID:5sz5+104誰に言ってんの?
0116デフォルトの名無しさん
2015/07/07(火) 08:40:39.16ID:V0LXAxWh0117デフォルトの名無しさん
2015/07/07(火) 16:29:52.07ID:LVu0aBhB0118デフォルトの名無しさん
2015/07/07(火) 17:45:43.48ID:PteeYs0T29以上を保証とか何の冗談か
unsigned longは4'294'967'295が表現できることが保証されている
0119デフォルトの名無しさん
2015/07/07(火) 18:20:58.42ID:VUtcYV9e俺用語を説明無く使う低能は引っ込んでて下さい
スレが汚れます
0120デフォルトの名無しさん
2015/07/07(火) 18:48:55.47ID:fH4ebICw0121デフォルトの名無しさん
2015/07/07(火) 18:49:12.72ID:4Dd6qTUR0122デフォルトの名無しさん
2015/07/07(火) 18:51:01.54ID:fH4ebICw0123デフォルトの名無しさん
2015/07/07(火) 18:51:50.21ID:4Dd6qTUR0124デフォルトの名無しさん
2015/07/07(火) 18:52:13.81ID:+MACP1k10125デフォルトの名無しさん
2015/07/07(火) 18:56:54.25ID:fH4ebICwランタイムのインストールが原因で一般公開用デスクトップアプリケーション作ってもあれだし。
0126デフォルトの名無しさん
2015/07/07(火) 19:03:59.77ID:b3eSLhoQJ2C
0127デフォルトの名無しさん
2015/07/07(火) 19:10:05.41ID:4Dd6qTURsunが文句言わなければjavaがランタイムなしで動いたかもな
0128デフォルトの名無しさん
2015/07/07(火) 19:14:16.40ID:CmuTGJh90129デフォルトの名無しさん
2015/07/07(火) 20:39:38.70ID:V0LXAxWhマジになるなよ
かわいそうだろ
0130デフォルトの名無しさん
2015/07/07(火) 21:27:48.88ID:3sOsoiobそんなことないですよ
struct unko {
auto f() {
this->g();
}
void g() {}
};
0131デフォルトの名無しさん
2015/07/07(火) 23:03:13.50ID:fH4ebICw0132デフォルトの名無しさん
2015/07/07(火) 23:05:16.66ID:4Dd6qTUR0133デフォルトの名無しさん
2015/07/07(火) 23:53:57.99ID:Cqe/2PN/0134デフォルトの名無しさん
2015/07/07(火) 23:58:36.94ID:oR9xV2kd0135デフォルトの名無しさん
2015/07/08(水) 00:00:30.59ID:GN6CG05m0136デフォルトの名無しさん
2015/07/08(水) 00:12:19.54ID:ac7mf5QUXCodeでも普通につかわれてるしな
VC++以外はコンパイラ直接使って1行で出来るようなビルドしかしたことないんだろうよ
0137デフォルトの名無しさん
2015/07/08(水) 07:14:21.66ID:DSOQ/tPyテンプレートでメタプログラミングしてる種族の生産性が壊滅する
彼らにJavaやC#でい�`と言ったら死ぬ
C++のテンプレートに関しては、分割コンパイルすら人類は成功していない
(ごく一部に実装が存在するが、複雑になりすぎたのか何かで普及には至っていない
最新のC++規格にもあるのか知らんが、exportキーワードはその名残
ヘッダファイル有理
0138デフォルトの名無しさん
2015/07/08(水) 07:46:57.82ID:9UDndsjQクラス定義がどんなスコープを持つことになれば生産性が向上すると思う?
0139デフォルトの名無しさん
2015/07/08(水) 20:00:10.55ID:5560VoR0>人類は成功していない
>存在するが (中略) 普及には至っていない
へー、で、どっちなの
0140デフォルトの名無しさん
2015/07/08(水) 20:09:00.29ID:5560VoR0クラス名() と書けばできる
0141デフォルトの名無しさん
2015/07/08(水) 21:14:04.20ID:9UDndsjQそれは operator()() にしかならんぞ
0142デフォルトの名無しさん
2015/07/08(水) 21:45:32.60ID:DSOQ/tPyttp://cpplover.blogspot.jp/2013/12/odr.html
0143デフォルトの名無しさん
2015/07/08(水) 22:16:59.64ID:9UDndsjQ0144デフォルトの名無しさん
2015/07/08(水) 23:38:23.42ID:DWS04a/XCなら、普通にヘッダ(.h)と実装(.c)に分けるけど
C++でテンプレート使ったのってヘッダ(.h)と実装(.cpp)って分けないのか?
分けないで、全てヘッダ(.h)に書くのが常識?
0145デフォルトの名無しさん
2015/07/08(水) 23:40:10.81ID:NfKsq5Yv0146デフォルトの名無しさん
2015/07/08(水) 23:41:05.66ID:C7UKQtvB実体化のタイミングがわからなければそれが無難
0147デフォルトの名無しさん
2015/07/08(水) 23:50:17.97ID:ubVhJlyJ仕事でやってるけどおおまかにクラスつくるときとかはCと同じくcppに実装してるよ
数行で終わるgetterとかsetterならそのままヘッダに書いてもOK
0148デフォルトの名無しさん
2015/07/09(木) 00:22:18.69ID:vNs+rDa3テンプレート使ってと書いてあるが?
0149デフォルトの名無しさん
2015/07/09(木) 00:39:03.48ID:0cZHnh39complex<double>みたいなのだったら
ライブラリ提供者が実体化してやってもいいだろうし、
tupleみたいなのだったら無理だし
0150デフォルトの名無しさん
2015/07/09(木) 02:47:38.02ID:KuBEloYJclass Human{
0151デフォルトの名無しさん
2015/07/09(木) 03:18:00.26ID:ZAdtCeGT0152デフォルトの名無しさん
2015/07/09(木) 07:42:58.50ID:fXPNF1O6// Tがfloat ,double以外だとリンクエラーになります(^^)
template<typename T>
T sper_transform(T);
0153デフォルトの名無しさん
2015/07/09(木) 17:54:52.12ID:cE1ZmiC1javaなら例えば引数でListインターフェ-スを受け取るようにしArrayListでもLinkedListでも受け取るようにすることができますがc++では純粋仮想関数を含む抽出クラスを引数で受け取ろうとするとエラーになります。
0154デフォルトの名無しさん
2015/07/09(木) 18:00:12.88ID:deXGtrLg0155デフォルトの名無しさん
2015/07/09(木) 18:04:59.89ID:VxETAF0f0156デフォルトの名無しさん
2015/07/09(木) 18:22:20.70ID:cE1ZmiC1ポインタじゃないといけないの忘れてた。
javaだと基本データ型以外は全て参照だからつい忘れてしまう。
>>155 恥ずかしい・・・間違って覚えてた。
0157デフォルトの名無しさん
2015/07/09(木) 18:32:38.46ID:4uSMepiF0158デフォルトの名無しさん
2015/07/09(木) 18:55:34.70ID:f4LCPN1X0159デフォルトの名無しさん
2015/07/09(木) 18:56:13.48ID:cE1ZmiC1抽象クラスなのでできません
0160デフォルトの名無しさん
2015/07/09(木) 22:16:12.21ID:hqeOwCaH何の問題も無いようだが
struct unko {
unko(){}
unko(int) : unko() {}
virtual void f() = 0;
};
0161デフォルトの名無しさん
2015/07/09(木) 22:18:31.65ID:G8eHbxF50162デフォルトの名無しさん
2015/07/09(木) 22:27:02.80ID:X2gXpyuo0163デフォルトの名無しさん
2015/07/09(木) 22:45:17.36ID:cE1ZmiC1struct unko {
unko(){}
unko(int){
unko();
}
virtual void f() = 0;
};
と思っていました。定数の初期化と同じように書くんですね。
0164デフォルトの名無しさん
2015/07/09(木) 23:19:55.82ID:qxOKYccvアリがトン。
0165デフォルトの名無しさん
2015/07/10(金) 00:32:28.35ID:fqxu7G37ClassA a;
ClassB b;
void funcA(){
a = ClassA(1);
b = ClassB(2);
}
funcAを呼んだ時にClassA()で生成されたインスタンスが解放されてからClassB()が呼ばれる保証ってあるのでしょうか?
環境によってはfuncAが終了するときにまとめて解放されるということもあるのでしょうか?
0166デフォルトの名無しさん
2015/07/10(金) 00:41:19.73ID:ScSjzKiE0167デフォルトの名無しさん
2015/07/10(金) 00:41:49.21ID:Vu40u84A> funcAを呼んだ時にClassA()で生成されたインスタンスが解放されてからClassB()が呼ばれる保証ってあるのでしょうか?
あるよ。
> 環境によってはfuncAが終了するときにまとめて解放されるということもあるのでしょうか?
ないよ。
12.2 [class.temporary] p3
> ... Temporary objects are destroyed as the last step
> in evaluating the full-expression (1.9) that (lexically) contains
> the point where they were created. ...
0168デフォルトの名無しさん
2015/07/10(金) 02:46:38.83ID:umpdDMDJ一応呼出元の見た目で分かるから関数内部で変更するものはポインタ受け取って、
変更しないものはconst参照で受け取るようにしてるんだけど。
0169デフォルトの名無しさん
2015/07/10(金) 03:12:31.04ID:9iV+XuX60170デフォルトの名無しさん
2015/07/10(金) 03:17:03.39ID:28a5Cf3U0171デフォルトの名無しさん
2015/07/10(金) 03:44:10.53ID:DCa/3nZ3winhttp
0172デフォルトの名無しさん
2015/07/10(金) 04:55:37.28ID:of7j/nXD参照はnullを受け付けない
参照を受け取る側は領域開放の責務を負うことがない
参照は「次の参照」や「前の参照」の存在を想定しない
0173デフォルトの名無しさん
2015/07/10(金) 06:39:51.57ID:D243EEr/ClassA() などという記述は存在しませんが何を言っているのですか
0174デフォルトの名無しさん
2015/07/10(金) 06:41:23.02ID:D243EEr/nullとは何ですか
脳内用語を使わないで下さい
0175デフォルトの名無しさん
2015/07/10(金) 07:11:12.48ID:BJKUYG8c0176デフォルトの名無しさん
2015/07/10(金) 08:50:14.65ID:1RZQ9b8Rそういうことです
>>167
ありがとうございます
0177デフォルトの名無しさん
2015/07/10(金) 08:53:56.55ID:TdNPXwtE0178デフォルトの名無しさん
2015/07/10(金) 09:08:54.96ID:99yaLJY4void hoge(int* ptr = nullptr)
{
hage(*ptr);
}
0179デフォルトの名無しさん
2015/07/10(金) 12:26:24.39ID:G6Ce1pVXint*のoperator*は intじゃなくてint&型を返すということですか?
0180デフォルトの名無しさん
2015/07/10(金) 12:40:13.90ID:HCOP/Ozo違う。
型:int (int*ではない)
値のカテゴリー:左辺値
0181デフォルトの名無しさん
2015/07/10(金) 12:42:17.77ID:HCOP/Ozo型:int (int&ではない)
値のカテゴリー:左辺値
0182デフォルトの名無しさん
2015/07/10(金) 12:54:51.81ID:G6Ce1pVXフォアワードイテレーターの戻り値の型はT&なんです
0183デフォルトの名無しさん
2015/07/10(金) 13:14:29.60ID:VQFJkr0hポインターがフォアワードイテレーターであるというソースは?
0184デフォルトの名無しさん
2015/07/10(金) 14:08:19.38ID:99yaLJY424.2.1 In general のパラグラフ2あたりじゃね?
0185183
2015/07/10(金) 15:00:37.96ID:vs0Lih+Y「イテレーターのセマンティクスはポインターの殆どのセマンティクスを一般化するもの
これによりイテレーターを受け取る関数テンプレートはポインターでも動く」
と超意訳で読みとったけどポインターがフォワードイテレーターである保証になってなくない?
少なくとも24.2.2のTable 106の戻り値のセマンティクス(戻りの型が参照)に反する
0186デフォルトの名無しさん
2015/07/10(金) 15:22:44.62ID:5MMAFF1Oインスタンス生成ごとにenumも生成されているのではないかと心配です
0187デフォルトの名無しさん
2015/07/10(金) 15:52:53.72ID:99yaLJY4++rがlvalueを返すって書いてあるな
ということは++r++が通るのか
すっげー変だけど
0188デフォルトの名無しさん
2015/07/10(金) 15:53:21.71ID:99yaLJY4++++r
0189デフォルトの名無しさん
2015/07/10(金) 15:55:39.62ID:s2VLkszyenumの性格を考えれば「インスタンスごとに生成される」なんて意味不明だろ
enum型の変数であればインスタンスごとに生成されるし、必要であればstatic付けられるけど
0190デフォルトの名無しさん
2015/07/10(金) 15:58:23.16ID:umpdDMDJなるほど
じゃあ必要なければ参照を使う方が良いのかな
0191デフォルトの名無しさん
2015/07/10(金) 16:02:49.09ID:A0a/W1Ovほうほう、それは規格のどこの何行目に書いてあるのですか
0192デフォルトの名無しさん
2015/07/10(金) 16:27:23.59ID:ZYjvDCYH0193デフォルトの名無しさん
2015/07/10(金) 16:35:11.06ID:G6Ce1pVXこれをusingを使ってtypenameを付けなくていいように
バラバラにするのはよくないことですか?
0194デフォルトの名無しさん
2015/07/10(金) 17:20:33.61ID:9iV+XuX6ただ将来の事を考えるとc++も勉強しておいたほうがいいし。
0195デフォルトの名無しさん
2015/07/10(金) 18:00:18.67ID:99yaLJY424.2.2のTable 106
0196デフォルトの名無しさん
2015/07/10(金) 19:45:39.21ID:s2VLkszy++iはlvalue
i++はrvalue
++i++は優先度により++(i++)と同じで許されない
(++i)++は許される
どうしてそうなるかはググってみて
0197デフォルトの名無しさん
2015/07/10(金) 19:46:13.73ID:sTUHS+6h『++r』『Return type』『X&』
どこにもlvalueを返すなとど書かれていないのですが
文盲ですかそれとも左辺値と参照の区別がついていないのですか
0198デフォルトの名無しさん
2015/07/10(金) 20:06:57.22ID:s2VLkszy0199デフォルトの名無しさん
2015/07/10(金) 20:27:35.36ID:5MMAFF1O0200デフォルトの名無しさん
2015/07/10(金) 21:07:55.01ID:lXMOVUZFみたいな質問するやつがわかりにくいって言ってもな…
0201デフォルトの名無しさん
2015/07/10(金) 21:09:39.79ID:8F/yuAYp0202デフォルトの名無しさん
2015/07/10(金) 21:51:17.30ID:K4glOt0xんなこたー誰でも知っている
× ++r は左辺値を返す
○ 式 ++r は左辺値である
0203デフォルトの名無しさん
2015/07/10(金) 22:00:44.39ID:99yaLJY4X& を何という?
0204デフォルトの名無しさん
2015/07/10(金) 22:21:54.56ID:B8Qq+pYN0205デフォルトの名無しさん
2015/07/10(金) 22:31:42.01ID:HCOP/Ozo0206デフォルトの名無しさん
2015/07/10(金) 23:58:16.18ID:zGDdAzP5おまえのオツムでは
int&& r = 0;
std::move( r );
の2回目のrがint&になってしまうんだろうな
右辺値参照型の左辺値だぞ
0207デフォルトの名無しさん
2015/07/11(土) 00:18:35.11ID:D8ydCTaItemplate<typename T>
struct my_traits {
using value_type = T;
using pointer_type = T *;
};
↓ これのこと?
template<typename T>
using my_value_t = typename my_traits<T>::value_type;
template<typename T>
using my_pointer_t = typename my_traits<T>::pointer_type;
たくさん書くのは気分的に気持ち悪いが
関数内とか局所的に使うならアリかも知れない。
0208デフォルトの名無しさん
2015/07/11(土) 00:39:53.43ID:uVdwPrZl質問に答えてね
0209デフォルトの名無しさん
2015/07/11(土) 01:08:06.06ID:LG4oyu+6enum定義と変数の宣言を同時に行う文法がクソすぎ
間違えやすいだろ
0210デフォルトの名無しさん
2015/07/11(土) 01:22:30.98ID:Cjelx8CW0211デフォルトの名無しさん
2015/07/11(土) 08:24:53.54ID:7t+v17HQお前の馬鹿さを自慢されても
0212デフォルトの名無しさん
2015/07/11(土) 08:34:12.46ID:pX7vv4D2どうしたん?
大丈夫?
0213デフォルトの名無しさん
2015/07/11(土) 08:35:23.91ID:uVdwPrZlg の存在期間を static にする必要性がある特殊な場面ならともかく
0214デフォルトの名無しさん
2015/07/11(土) 08:56:58.71ID:UVKLlR0j日本語も読めない池沼は帰って
オナニーでもしてろよ
0215デフォルトの名無しさん
2015/07/11(土) 09:58:36.19ID:uVdwPrZl0216デフォルトの名無しさん
2015/07/11(土) 09:59:09.02ID:qG2jeSuO0217デフォルトの名無しさん
2015/07/11(土) 11:27:22.29ID:YV9UXyxm0218デフォルトの名無しさん
2015/07/11(土) 12:46:56.14ID:W1ayzlr10219デフォルトの名無しさん
2015/07/11(土) 12:52:13.58ID:2karzrOj型と変数を同時に宣言できるのはclassやstructだって同じなんだが知らないみたいだなw
俺もこれをやるときは型名はつけないな
型名付けるなら別々に宣言する
0220デフォルトの名無しさん
2015/07/11(土) 13:15:29.71ID:iS7jybTTおめー、頭悪いぞ。
同様なclassやstructがクソじゃないとは誰も言っていない。
0221デフォルトの名無しさん
2015/07/11(土) 13:21:11.96ID:W1ayzlr1「おれは別に宣言する(放置したつもりドャッ)」
こういうことです
0222デフォルトの名無しさん
2015/07/11(土) 13:33:33.15ID:HDTdm+Tv219は型と変数を同時に宣言するのはヘボ臭いと言っているだけで
classやstructやお前の頭がクソかどうかは問題にしてない
それを勘違いして報復攻撃してる誰かさんの頭が悪いのは確かそうだが
0223デフォルトの名無しさん
2015/07/11(土) 13:43:58.10ID:2karzrOjいやちょっと違う
俺だって型と変数を同時に宣言することはあるけど、それはわざわざ型名を
付けるのがクドいと感じる様な場合
それが出来るのがC/C++の良い所の一つだと思う
>>221
放置できなくてごめんなさいね総括厨さん
0224デフォルトの名無しさん
2015/07/11(土) 13:52:53.44ID:CwoQBM67自分の人格者を攻撃されたと錯覚して
攻撃された!と宣うのがチョンの思考パターン
こういう人はマトモな議論ができませんね
0225デフォルトの名無しさん
2015/07/11(土) 14:14:05.19ID:Zdz7Qarsダム端末でも編集しやすいようにという配慮
かどうかは知らんが何か裏事情があったのでは、と思う
0226デフォルトの名無しさん
2015/07/11(土) 14:54:05.81ID:XTEF7nLK0227デフォルトの名無しさん
2015/07/11(土) 15:05:36.35ID:iS7jybTT「だけ」ではなくて
> 型と変数を同時に宣言できるのはclassやstructだって同じなんだが知らないみたいだなw
とも、言ってるぞ。バカには見えないのか?
0228デフォルトの名無しさん
2015/07/11(土) 15:27:49.78ID:iW45GXJ20229デフォルトの名無しさん
2015/07/11(土) 16:21:00.01ID:Zdz7Qars少なくともC89以降は構造体 or 共用体タグ名も型名も定義したスコープ内のみで有効だから
無名にせねばならないシチュエーションがもはや無いのでは…
K&Rの頃のは知らん
0230デフォルトの名無しさん
2015/07/11(土) 16:31:51.26ID:iS7jybTT0231デフォルトの名無しさん
2015/07/11(土) 16:39:50.19ID:OROQmvPq記述をもっと減らせないかね
=defaultみたいな
0232デフォルトの名無しさん
2015/07/11(土) 16:50:39.31ID:HDTdm+Tv頑なに拒む理由でもあるのかね
0233デフォルトの名無しさん
2015/07/11(土) 17:46:14.11ID:ZUJOyZ+Wこれはなんのためにあるのでありんすか?
0234デフォルトの名無しさん
2015/07/11(土) 20:04:46.34ID:OROQmvPqそうなの?
ISO/IEC 9899:2011の6.7.2.1でidentifierがoptになっているので
無名共用体はありかと思っていたが
0235デフォルトの名無しさん
2015/07/11(土) 20:36:23.13ID:2karzrOj無名共用体は問題なく通るよ
--std付けないとstatic無しの無名class、union変数はwarningが出る
0236デフォルトの名無しさん
2015/07/11(土) 20:36:31.28ID:iS7jybTTそれじゃ無いから。わからないなら参加しなくて良い。
0237デフォルトの名無しさん
2015/07/11(土) 20:44:28.77ID:2karzrOjなんで「それじゃ無い」なの?わかってないのはお前さんでは?
http://www.buildinsider.net/language/clang/03
http://en.cppreference.com/w/c/language/union
0238デフォルトの名無しさん
2015/07/11(土) 20:50:51.96ID:iS7jybTTc11に無名共用体が無いとは言ってない。
>>234が違うと言っている。
0239デフォルトの名無しさん
2015/07/11(土) 20:52:57.86ID:Xgowho1Iが説明されることは無いのであった。
0240デフォルトの名無しさん
2015/07/11(土) 21:00:34.40ID:iS7jybTT教えてやろうか?
構造体や共用体のタグが省略されたもの
> identifierがoptになっているので
が匿名構造体/共用体で、これはずーっと以前からある。
An unnamed member whose type specifier is a structure specifier with no tag is called an anonymous structure; an unnamed member whose type specifier is a union specifier with no tag is called an anonymous union.
The members of an anonymous structure or union are considered to be members of the containing structure or union.
This applies recursively if the containing structure or union is also anonymous.
0241デフォルトの名無しさん
2015/07/11(土) 21:05:09.12ID:iS7jybTTこれを無名共用体と説明してる場合が多い。
>>237のリンク先とか。
元はMSの拡張でMS用語では無名共用体と呼ばれてた気がする。多分これを使ってるのだろう。ソースは探してくれ。
0242デフォルトの名無しさん
2015/07/11(土) 21:07:13.16ID:2karzrOj何言ってるんだか
>>232はC11の事を話していて>>234は完全に正しいだろ
0243デフォルトの名無しさん
2015/07/11(土) 21:08:17.20ID:iS7jybTT0244デフォルトの名無しさん
2015/07/11(土) 21:20:00.58ID:Xgowho1I232の意図したものが無名メンバーの話であると決めつけた根拠は?
おまえの説明だと無名の型名も無名メンバー名もC11に有るんだろう?
0245デフォルトの名無しさん
2015/07/11(土) 21:22:43.10ID:iS7jybTT> ISO/IEC 9899:2011の6.7.2.1でidentifierがoptになっているので
に、該当するのは、
struct-or-union identifier opt { struct-declaration-list }
しかなくて、それはタグ名が省略された匿名構造体/共用体の事なのだよ。それはC99にはあった。多分K&Rの頃からある。
お前はC11で強化されたと>>237でリンクしたんだろ。矛盾してるぞ。
お前頭悪いんだから後10年ROMってろ。
0246デフォルトの名無しさん
2015/07/11(土) 21:29:46.81ID:iS7jybTTC99以前からある匿名構造体を「無いね」などと言い出すバカはそんなに多く無い。
存在するとしたら、かなり頭が悪い事が判明してるID:2karzrOjと、
こんな簡単な推論も出来無いお前くらいだよ。
0247デフォルトの名無しさん
2015/07/11(土) 21:31:16.17ID:FdAid2Waプログラム書けよ。だからプログラミング能力が上達せず煮、百済無い議論に明け暮れるんだよ。
0248デフォルトの名無しさん
2015/07/11(土) 21:38:38.09ID:D8ydCTaIC11で強化された機能を「C11にない」「頑なに拒む」と言う人はもっと少ないだろ
推論になってないぞアスペなの?
0249デフォルトの名無しさん
2015/07/11(土) 21:44:00.67ID:2karzrOjなんか無闇に混乱してるな
頭悪い連呼するよりも御自分の頭の心配したほうがいいんじゃないか
>>232は「無名の共用体」って書いてるんだが?
0251デフォルトの名無しさん
2015/07/11(土) 22:07:56.81ID:Zdz7QarsもちろんそんなのはK&Rからできてる
無名共用体(構造体)っていうのはこんな奴。
struct tagFoo {
union tagBar {
int x;
int y;
}; // <-- ここに何も無い
int z;
};
で、
struct tagFoo foo;
foo.x = 10;
と書けたらいいナア、みたいな、
0252デフォルトの名無しさん
2015/07/11(土) 22:15:09.60ID:iS7jybTTオレが言い出したんじゃねーよ。>>234が言い出した
> ISO/IEC 9899:2011の6.7.2.1でidentifierがoptになっているので
> 無名共用体はありかと思っていたが
が>>245の事。
だらか、知らないなら引っ込んでろと言った(>>236)
0253デフォルトの名無しさん
2015/07/11(土) 22:15:50.35ID:2karzrOjそれは認める
「無名共用体」って言葉が曖昧なのがあるけど
http://www.buildinsider.net/language/clang/03
”「無名」という言葉は、構造体/unionの識別子(いわゆるタグ名)が省略されていること(リスト1の(1))、メンバー名が省略されていること(リスト1の(2))の両方を指している。”
0254デフォルトの名無しさん
2015/07/11(土) 22:22:27.55ID:2karzrOj良かったんだな
0255デフォルトの名無しさん
2015/07/11(土) 22:23:08.33ID:iS7jybTTお前バカなんだから後10年ROMってろ。
> >>232は「無名の共用体」って書いてるんだが?
「無名の共用体」はMSの用語だと言っただろ。
確認で出来るだけでVS2003には既にある。もっと前からあったはず。
https://msdn.microsoft.com/library/y9zewe0d(v=vs.71).aspx
struct str
{
int a, b;
union / * Unnamed union */ <==== 無名の共用体
{
char c[4];
long l;
float f;
};
char c_array[10];
} my_str;
my_str.l == 0L; /* A reference to a field in the my_str union */
0256デフォルトの名無しさん
2015/07/11(土) 22:29:05.80ID:2karzrOjずいぶんいきり立ってるけど>>232は「無名の共用体」がMS用語だなんて書いてないし
その意味での無名の共用体はC11から認められたというのは本当だし
0257デフォルトの名無しさん
2015/07/11(土) 22:33:06.20ID:iS7jybTTそんなどこの馬の骨かわからん奴の「ボクの考える無名共用体とは何か」by >>239
を根拠にすんな。
> ああ確かに>>232に対するレスとしての>>>234の「ISO/IEC 9899:2011の6.7.2.1でidentifierがoptになっている」は変だね
> それは認める
これを認めるなら、これまでのお前のおバカ発言も全部撤回ってことだな。
自分がどれほど頭悪かったか理解できましたか?
0258デフォルトの名無しさん
2015/07/11(土) 22:35:36.33ID:2karzrOjはいはいそれでいいよ
議論の厳密さでは貴方様にはかないませんわ
0259デフォルトの名無しさん
2015/07/11(土) 22:38:20.21ID:iS7jybTT本当にバカなんだな。
「C11に無い」と思い込んでるのだから、C11で定義された用語として使って無いのは明白なわけだ。
それでは何をさしているかいうと、独自拡張として先に実装していた、MSのそれしかないわけ。
0260デフォルトの名無しさん
2015/07/11(土) 22:45:48.04ID:2karzrOj「MSのそれしかない」って言うけどGCCだって拡張としてC11以前からサポートしてるよ
どっちが早かったかは調べてないけど
0261デフォルトの名無しさん
2015/07/11(土) 22:49:23.93ID:D8ydCTaI「(MSの無名共用体がC11に入ったけど名前が無名共用体じゃないから)
C11に無名共用体がない。頑なに拒んでいる」
と解釈した>>259はガイキチさんに相違ない
0262デフォルトの名無しさん
2015/07/11(土) 23:00:17.09ID:2karzrOjhttps://gcc.gnu.org/onlinedocs/gcc-3.1.1/gcc/Unnamed-Fields.html#Unnamed%20Fields
0263デフォルトの名無しさん
2015/07/11(土) 23:13:59.67ID:iS7jybTTはいはい。「MSが始めたソレ」ね。ツツシンデ訂正します。
>>262
無駄な努力続けたいならどーぞ。visual studio 6.0(1998)
https://msdn.microsoft.com/en-us/library/aa243791(v=vs.60).aspx
Microsoft Specific —>
Nested unions can be declared anonymously when they are members of another structure or union. This is an example of a nameless union:
struct str
{
int a, b;
union / * Unnamed union */
0264デフォルトの名無しさん
2015/07/11(土) 23:22:16.12ID:iS7jybTT思い込むには「勘違い」、「知らなかった」…
とかいろいろ理由は考えられるわけだが、
オレが
> 「(MSの無名共用体がC11に入ったけど名前が無名共用体じゃないから)
> C11に無名共用体がない。頑なに拒んでいる」
と想像したに違いない、と妄想してしまった>>261はキチガイ病院に入院が必要なレベル。
統合失調症かなり進行してるんじゃない?
0265デフォルトの名無しさん
2015/07/12(日) 00:15:41.62ID:7uvF/txaへえVS6.0からあったんだ
別にこだわってるわけじゃないんだけど、無名共用体/構造体はMSが最初に取り入れたって確実な証拠あるの?
0266デフォルトの名無しさん
2015/07/12(日) 00:25:03.35ID:HbO31IQZ0267デフォルトの名無しさん
2015/07/12(日) 00:42:27.83ID:D5o3Ook3さあね、ボーランドからパクった可能性はあるけど、証拠突きつけられれば、
「ボーランドからパクった、MSのソレ」とツツシンデ訂正してあげるよ。
0268デフォルトの名無しさん
2015/07/12(日) 00:49:14.71ID:wWInxoH00269デフォルトの名無しさん
2015/07/12(日) 00:58:20.78ID:ocuS5rc4まともな人がいなくなったから仕方ないことなんだろうな
0270デフォルトの名無しさん
2015/07/12(日) 01:04:19.59ID:wUBcw7SV0271デフォルトの名無しさん
2015/07/12(日) 07:37:12.06ID:j3Z4ixjm0272デフォルトの名無しさん
2015/07/12(日) 08:38:40.35ID:9dz26AJO0273デフォルトの名無しさん
2015/07/12(日) 08:40:15.37ID:D5o3Ook3cfrontなんて伝説でしか聞いたことないや。ALTOとかMacintoshとかと同類。
で、再びVisual Studio 6.0
https://msdn.microsoft.com/en-us/library/aa245257(v=vs.60).aspx
C++の方にはMS specificとないので、
「C++からパクった、MSのソレ」にツツシンデ訂正させていただきます。
IDを失敗という奴の数は限られている
ドカタのコピペ乱発はもうやめたのか?
0275デフォルトの名無しさん
2015/07/12(日) 10:48:29.02ID:HbO31IQZなんだそのつながりの見えない関係
0276デフォルトの名無しさん
2015/07/12(日) 11:31:26.53ID:hKFInxhRホゲ荒らしはもうやめたのか?
0277デフォルトの名無しさん
2015/07/12(日) 12:29:12.69ID:ahQPxZ3Y「フッ、それは12.8の30段落目あたりのwhen〜に書いてあるな。98からの仕様だ
0278デフォルトの名無しさん
2015/07/12(日) 13:36:00.48ID:D5o3Ook3バカなんだから引っ込んでりゃ良いのに敗北を自認した後も粘着した挙句、再度一蹴。
こんなにバカだと生きるの大変だろうな。
0279デフォルトの名無しさん
2015/07/12(日) 13:56:02.22ID:wWInxoH00280デフォルトの名無しさん
2015/07/12(日) 15:04:22.77ID:hIX2p4J2キチガイ?
0281デフォルトの名無しさん
2015/07/12(日) 15:50:00.15ID:/HjU8Jh8互いに自分のカタコト主張を垂れ流して
互いに都合の悪い指摘はスルーして
互いに勝った気になるスレです
0282デフォルトの名無しさん
2015/07/12(日) 17:23:47.85ID:YXldfm4kwin-win関係やな
0283デフォルトの名無しさん
2015/07/12(日) 17:30:29.82ID:2WHYr8c9言っている意味がわからないかもしれません。。。。
関数Aの中にダブルポインタ(B)でうけとる関数Cがあり、関数Cで変更された
Bの値を間数Aの呼び出し元に反映させるにはこれでよいでしょうか。関数Cの
インターフェースは変更できません。。。。。
main(){
int *B;
関数A(&B);
Bには間数Cで変更された値がある
}
関数A(int** B){
関数C(&B);
}
関数C(int**B)・・・・・・
0284デフォルトの名無しさん
2015/07/12(日) 17:50:45.31ID:dtQ6554vまずコンパイルが通るコードを貼ったらどうだ?
0285デフォルトの名無しさん
2015/07/12(日) 18:03:53.38ID:ahQPxZ3Yこうする
http://ideone.com/eXAvkn
0286デフォルトの名無しさん
2015/07/12(日) 18:13:53.05ID:SSPswhFPmain( ) に反映させるならそれでいい
0287デフォルトの名無しさん
2015/07/12(日) 18:26:32.10ID:D5o3Ook30288283
2015/07/12(日) 18:57:18.45ID:2WHYr8c9ありがとうございますmポインタのポインタがわかったような気がしますmmm
0289デフォルトの名無しさん
2015/07/12(日) 22:23:47.18ID:Huyl4KsGひっくり返したら
「ありがとうございますwポインタのポインタがわかったような気がしますwww」
0290デフォルトの名無しさん
2015/07/14(火) 12:34:06.93ID:UtKLctm2std::map<std::string, int> mp
for(auto itr = mp.begin(); itr != mp.end(); ++itr) {
std::cout << "key = " << itr->first << "\n";
std::cout << "val = " << itr->second << "\n";
}
みたいにやると思いますが、これを
for(int i=0; ... ){
}
のようにindexでやる方法を教えて蹴れ!!!
0291デフォルトの名無しさん
2015/07/14(火) 12:47:51.17ID:rNlP6Nu00292デフォルトの名無しさん
2015/07/14(火) 12:52:54.24ID:UtKLctm2> 何故かインデックスでやることの是非を語りだすアホ
あんたが話をそっちに振っているだがや。そんな議論はいらんからインデックスでやる方法を
教えて蹴れ!早く!
0293デフォルトの名無しさん
2015/07/14(火) 12:55:08.21ID:e62MolP3むしろイテレータ使うとなんかいい事あるんかな?
0294デフォルトの名無しさん
2015/07/14(火) 12:57:41.56ID:FsEQiXKOキーに数字を一対一に対応させればいいんだよ
その対応させるのにまたmapを使うかそういう関数を定義するかすればいい
0295デフォルトの名無しさん
2015/07/14(火) 12:57:47.01ID:dhQIKVsL0296デフォルトの名無しさん
2015/07/14(火) 13:28:14.24ID:mvkEOiYDhttp://ideone.com/noP3Ul
0297デフォルトの名無しさん
2015/07/14(火) 13:37:03.79ID:rkpz8f5tfor(auto e : mp) afo.emplace_back(e);
0298デフォルトの名無しさん
2015/07/14(火) 13:41:06.37ID:UtKLctm2>>297
さんきゅう。どっちも上手く行ったよ。やっぱりループはindexだよな。
0299デフォルトの名無しさん
2015/07/14(火) 14:13:17.11ID:SKd+PiL50300デフォルトの名無しさん
2015/07/14(火) 15:22:28.11ID:lfdsryMVそれ結局イテレータ使ってる。
0301デフォルトの名無しさん
2015/07/14(火) 18:15:32.99ID:INp5lnz1auto itr = m.begin();
std::advance(itr, i);
}
0302デフォルトの名無しさん
2015/07/14(火) 18:18:24.65ID:2KYZ+h7+0303デフォルトの名無しさん
2015/07/15(水) 00:03:29.85ID:dGdv/3vm0304デフォルトの名無しさん
2015/07/15(水) 03:26:56.03ID:SlthSPBG0305デフォルトの名無しさん
2015/07/16(木) 17:17:26.07ID:U0IY41MX俺俺、俺だよ 金貸してくれよ
0306デフォルトの名無しさん
2015/07/16(木) 17:32:25.87ID:2j8ZSm1w0307デフォルトの名無しさん
2015/07/16(木) 17:33:51.93ID:PAzV5X9d0308デフォルトの名無しさん
2015/07/16(木) 22:05:42.82ID:2mi9CUdRアクセスする毎にインデックスに相当する順繰りに増える数字が欲しいのかはっきりせんと。
全てを端から端まで読むのであれば、イテレータ使ったループに整数のカウンタいれとけばいいだけだし、
ランダムアクセスしたいならadvance使うしかないしな。
0309デフォルトの名無しさん
2015/07/16(木) 22:22:06.70ID:EbXSssCX一方>>308は思考停止してadvanceしかないと言い出した
これが一般人とアスペの差
0310デフォルトの名無しさん
2015/07/16(木) 22:27:22.78ID:2mi9CUdR>>297はmapをインデックスでアクセスしているわけではないのだが…
0311デフォルトの名無しさん
2015/07/16(木) 22:38:24.50ID:TjbeLhY10312デフォルトの名無しさん
2015/07/16(木) 22:45:11.63ID:QLbygVn7一度構築した内容が不変で何度もランダムアクセスするケースなら
アクセスの度にadvanceするよりはましじゃないか
0313デフォルトの名無しさん
2015/07/16(木) 22:55:46.57ID:TjbeLhY1それになんでdequeなんだよvectorの方が速いだろ
0314デフォルトの名無しさん
2015/07/16(木) 23:15:52.61ID:2mi9CUdRそもそもmapである必要がない用途だろ、それ
0315デフォルトの名無しさん
2015/07/16(木) 23:25:00.35ID:TjbeLhY1>>290はそういうケースじゃないみたいだな
0316デフォルトの名無しさん
2015/07/17(金) 00:37:45.63ID:bXkQK0Wmhttp://komattarasoudan.seesaa.net/article/422452476.html
最近髪でお悩みの方悩まずはこちらをご参考だて下さい。
http://kaminokehahaeru.seesaa.net/article/422482791.html
0317デフォルトの名無しさん
2015/07/17(金) 01:25:06.78ID:C9mRWQ9x0318デフォルトの名無しさん
2015/07/17(金) 08:28:48.25ID:FO1R/6hTと言えばよかったと?
はいそうですね
0319デフォルトの名無しさん
2015/07/17(金) 12:33:03.69ID:HougiqwYもっと混乱していたかもしれないな
0320デフォルトの名無しさん
2015/07/17(金) 20:38:06.22ID:qgsB8yVYソート順なのか追加順なのかをはっきりさせないと
0321デフォルトの名無しさん
2015/07/17(金) 23:29:57.05ID:K75kCcLe線形探索で遅杉ならインデックスをvalue_typeとするstd::map<キーの型, インデックスの型>とstd::vectorの2本立てで
0322デフォルトの名無しさん
2015/07/18(土) 00:21:56.23ID:TrlsMEs4言ってるそばから>>320のような奴が出てくるという
0323デフォルトの名無しさん
2015/07/18(土) 11:08:08.07ID:2JMou2zW0324デフォルトの名無しさん
2015/07/18(土) 11:14:33.17ID:phVJrBHZ0325デフォルトの名無しさん
2015/07/18(土) 11:50:02.74ID:IZxdPzJ7質問者の俺としては、単純に
for(int i=0;
で全要素のkey、valueが取り出せれば良かったので、それ以外は関心ない。
やっぱりループはindexが基本だよなあ。
0326デフォルトの名無しさん
2015/07/18(土) 11:52:36.17ID:n8k6dcHe0327デフォルトの名無しさん
2015/07/18(土) 13:40:55.48ID:o/QnrV3k全要素のkey、valueが取り出せればいいのに
何故、ループをイテレータじゃなくiでやりたくなるのか訳がわからない
0328デフォルトの名無しさん
2015/07/18(土) 13:41:48.09ID:phVJrBHZ0329デフォルトの名無しさん
2015/07/18(土) 13:43:07.70ID:o/QnrV3kmapの場合、ランダムアクセスしたくなるのはナンセンスではない
質問者はランダムアクセスしたいわけじゃなさそうだけどね
0330デフォルトの名無しさん
2015/07/18(土) 13:44:24.34ID:o/QnrV3k俺が不思議に思ってるんだけど
0331デフォルトの名無しさん
2015/07/18(土) 13:57:18.13ID:1dCgaP/A0332デフォルトの名無しさん
2015/07/18(土) 14:17:41.42ID:v2f9qsff何番目のキーかがわかってる場合に定時間でアクセスしたいんだろう
ループ中に2つ前を取り出すときに
auto i2 = itr;
advance(i2, -2);
i2->second;
より
mappu[idx-2]
でできた方がわかりやすい
0333デフォルトの名無しさん
2015/07/18(土) 15:38:37.11ID:ivP/XGGxなんだただのバカか
0334デフォルトの名無しさん
2015/07/18(土) 15:39:47.77ID:ivP/XGGx理由は関係ないとバカ本人が言っているのだから、
理由をあれこれ詮索して提示する必要はない。
単にイテレータは気持わるくて配列風アクセスじゃないと落ち着かないだけだろ。
0335デフォルトの名無しさん
2015/07/18(土) 16:22:28.64ID:VoP8WSFF実世界だと何に例えればいいんだろう
0336デフォルトの名無しさん
2015/07/18(土) 16:29:36.89ID:SXIUB1xX0337デフォルトの名無しさん
2015/07/18(土) 16:33:24.92ID:+74fO+KQ掃除当番のローテーションみたいなもんだ
0338デフォルトの名無しさん
2015/07/18(土) 16:34:51.98ID:tBunyjTHコンテナーとアルゴリズムとを繋ぐインターフェース
0339デフォルトの名無しさん
2015/07/18(土) 18:03:37.84ID:IZxdPzJ7問題ないよ
0340デフォルトの名無しさん
2015/07/19(日) 01:55:49.92ID:9jrGPvmx例えば100MBの独立した2枚の画像("a.jpg"と"b.jpg")が200MBの1つのファイル("bin")に結合されているときに
あたかも個別のファイルを扱っているようなstd::ifstreamを作りたいと考えています
たとえばseekg(0, ios::beg)と記述したとき,実質seekg(100MiB, ios::beg);を呼ぶようなものにしたいと考えています
仮想関数であるfilebuf::seekoffの中でオフセット値を変えた実装は書いてみたのですが,バッファにデータを読み出そうとしても
何も読み出せませんでした
0341デフォルトの名無しさん
2015/07/19(日) 04:57:21.27ID:9cfOAbCj個人的には、常識的なストリームの抽象化(読み出し元・書き込み先デバイスの差異の吸収を主眼とする)の階層で
1ファイルを複数ファイルに見せるみたいな変態ファイルシステムを実現するのはiostreamの設計思想に反している気が…
(iostreamとその下に居るファイルシステムの間に一発wrapperをかますといった環境依存な改造になるべき事案なのでは…
0342デフォルトの名無しさん
2015/07/19(日) 06:29:05.39ID:F7g9AAKV0343デフォルトの名無しさん
2015/07/19(日) 06:35:36.57ID:F7g9AAKVarchivemountについて
archivemountというFUSE用ファイルシステムを使用することで、圧縮された.tar.bz2やcpioなどの形式のファイルをマウントして、
その中身に「透過的」にアクセスできる。
データの書き込みもサポートしているが、大事なデータを含む圧縮ファイルで使用することはおすすめできない。
http://d.hatena.ne.jp/kakurasan/20080204/p1
0344デフォルトの名無しさん
2015/07/19(日) 09:05:33.78ID:8Q24h1bHメモリに一つのファイル全部読んでそれから一つのストリーム作ってライブラリに渡すんじゃだめなんか
実際に100MBのjpgなんて使わないだろ?
0345デフォルトの名無しさん
2015/07/19(日) 09:09:13.04ID:+kGtCzuoそんな小細工せずに普通に一個ずつやれば良いだろ?
0346デフォルトの名無しさん
2015/07/19(日) 11:24:04.06ID:8DYvkgGZこのゲームのコードを一緒に解析しよう
0347デフォルトの名無しさん
2015/07/19(日) 12:10:26.34ID:Ae5UOFVTstreambufを適切に実装すればできると思うけど。
というか同じようなものを昔作った記憶がある。(ファイル中の指定領域を1つのファイルに見せかけるもの)
streambuf実装を手助けするようなboostのクラス使った気がするけど、今はどうなんだろう。
0348デフォルトの名無しさん
2015/07/19(日) 13:35:01.73ID:NoforBXG苦労して騙す価値がわからない。
0349デフォルトの名無しさん
2015/07/19(日) 13:40:45.54ID:isiihInr0350デフォルトの名無しさん
2015/07/19(日) 13:52:03.80ID:AxVShlkv四苦八苦するうちに目的を達するのかもしれんが、最終的にメンテ不可能なコードが出来上がる
iostreamはあれで完成品であって、追加のカスタマイズの余地がほとんどないものとして扱うべき
0351340
2015/07/19(日) 21:12:37.60ID:9jrGPvmxやはり思ったよりも面倒だったので別の解決策で考えてみたいと思います
0352デフォルトの名無しさん
2015/07/19(日) 22:53:49.59ID:6v13rUs00353デフォルトの名無しさん
2015/07/19(日) 23:50:34.28ID:9jrGPvmx別の原因を考えて実装が泥沼化していましたが,単準にシーク値にオフセット値を加えてごまかすだけで正常に動作するようです
どうもすみませんでした
0354デフォルトの名無しさん
2015/07/19(日) 23:59:27.38ID:ghbDym720355デフォルトの名無しさん
2015/07/20(月) 00:01:19.99ID:1Qy7XHWg可能性はある。
0356デフォルトの名無しさん
2015/07/20(月) 00:01:44.85ID:it9iY6xGある
0357デフォルトの名無しさん
2015/07/20(月) 00:10:19.45ID:0qCQdItO0358デフォルトの名無しさん
2015/07/20(月) 00:17:48.27ID:vFwEMAwX配列のインデックスを間違ったらメモリを破壊しないように例外で緊急停止する方法はないですかね?
0359デフォルトの名無しさん
2015/07/20(月) 00:20:08.09ID:1Qy7XHWg間違ってもメモリ破壊しないように
必要な大きさの10倍くらい確保しておけ。
0360デフォルトの名無しさん
2015/07/20(月) 00:20:36.45ID:vFwEMAwX安心しました。
0361デフォルトの名無しさん
2015/07/20(月) 01:20:52.86ID:2qlObTextemplate < class _Type >
class array{
private:
_Type* m_item;
unsigned int m_size;
public:
// コンストラクタとか各種セマンティックスとか
_Type& operator[](unsigned int i)
{
if( i < 0 || i >= m_size )
{
throw std::out_of_range{ "what" };
}
return m_size[i];
}
const _Type& operator[]( unsigned int i )以下同様
};
のようにラッパーをつくる,または継承を利用し,
template < class _Type >
class Vector : private std::vector < _Type >{
using size_type = typename std::vector < _Type >::size_type;
using std::vector < _Type >::vector; // コンストラクタの継承
_Type& operator[]( size_type i )
{
return this->at(i);
}
const _Type& operator[]( size_type i )以下同様
};
のようにカスタマイズすると例外を送出させることは可能.
0362デフォルトの名無しさん
2015/07/20(月) 01:24:22.33ID:HS03ITz90363デフォルトの名無しさん
2015/07/20(月) 01:27:45.85ID:CWd6lbGbまじか……。どれが予約ですか?
そして符号無しなのにマイナスチェックしてる……
0364デフォルトの名無しさん
2015/07/20(月) 01:36:47.26ID:UX3o5Q0t0365デフォルトの名無しさん
2015/07/20(月) 01:41:30.26ID:/EsSmyHW0366デフォルトの名無しさん
2015/07/20(月) 02:04:07.94ID:HM9xj7SI0367デフォルトの名無しさん
2015/07/20(月) 02:17:04.67ID:CWd6lbGbSTLの中身読んでたときの名残です >_Type
0368デフォルトの名無しさん
2015/07/20(月) 02:22:59.65ID:/EsSmyHW_大文字で始まるのはアプリ側では一切使ってはいけない
他にも禁止事項があるからチェックした方がいいよ
0369デフォルトの名無しさん
2015/07/20(月) 02:24:49.85ID:UX3o5Q0tお前は使っちゃダメだろう
0370デフォルトの名無しさん
2015/07/20(月) 02:29:47.72ID:V78BNVdD0371デフォルトの名無しさん
2015/07/20(月) 02:37:49.16ID:CWd6lbGb0372デフォルトの名無しさん
2015/07/20(月) 02:56:49.66ID:vG0VnJUEつvector::at
0373デフォルトの名無しさん
2015/07/20(月) 11:35:59.80ID:P/gUAIjL>17.6.4.3.2 Global names [global.names]
>1 Certain sets of names and function signatures are always reserved to the implementation:
> -- Each name that contains a double underscore _ _ or begins with an underscore followed by an uppercase
>letter (2.12) is reserved to the implementation for any use.
> -- Each name that begins with an underscore is reserved to the implementation for use as a name in the
>global namespace.
とあって、
- アンスコ+アンスコかアンスコ+大文字で始まる名前(識別子 or マクロ)は実装のために名前空間を問わなず予約されている
- アンスコで始まる名前は実装のためのグローバルネームスペースにおいて予約されている
ということのようであるらしい、
17章はC++標準ライブラリの章なので、実装というのはライブラリの実装のみを指すのだと思うが、
ひょっとしたらアプリの実装も含むのかは知らん…
0374デフォルトの名無しさん
2015/07/20(月) 11:44:36.52ID:P/gUAIjLソースファイルやヘッダファイルのファイル名ぐらいでしか許されないと誤解してて窮屈さを強いられていたが、
規格を見たら思ったより緩い規制のようなので、
これからは規格の許す範囲でもっと積極的にアンダースコアで始まる名前を使っていこうと思う。
0375デフォルトの名無しさん
2015/07/20(月) 12:00:00.21ID:/EsSmyHW_大文字で始まるのはアプリ側ではどんな場合でもダメ絶対
0376デフォルトの名無しさん
2015/07/20(月) 12:01:37.60ID:OwOq1DU30377デフォルトの名無しさん
2015/07/20(月) 12:02:13.40ID:cpPuTL8o0378デフォルトの名無しさん
2015/07/20(月) 12:12:07.44ID:P/gUAIjL0379デフォルトの名無しさん
2015/07/20(月) 12:38:48.74ID:HS03ITz9標準ライブラリはいいんだよ。そのための予約なんだから。
0380デフォルトの名無しさん
2015/07/20(月) 12:40:05.58ID:so4ttUjfどうせ自分の首絞めるだけなんだから
0381デフォルトの名無しさん
2015/07/20(月) 12:44:07.72ID:/EsSmyHW俺はprivateなメンバ変数には_小文字で始まるのを使うようにしてる
これIDEの補完機能上便利なんだよね
C#世界じゃほぼ標準的な流儀になってるし
C++世界ではprivateメンバ変数に_をサフィックスとして付ける流儀があるけど
これは汚いし(個人的意見)便利じゃない
m_は汚すぎて絶対使いたくない
0382デフォルトの名無しさん
2015/07/20(月) 12:52:43.12ID:1Qy7XHWg>m_は汚すぎて絶対使いたくない
どのへんが汚く思うのか説明して欲しい。
俺は m_ 派なので。
0383デフォルトの名無しさん
2015/07/20(月) 12:54:00.43ID:P/gUAIjLちょっ「どんな場合でも」「使うな」と書いてあるんやで
0384デフォルトの名無しさん
2015/07/20(月) 12:55:55.64ID:P/gUAIjL個人的には1文字か2文字のメンバ変数(x, yとか)にm_とか付け出すとさすがに気になってくる
_ならまだ目立たないから良い
0385デフォルトの名無しさん
2015/07/20(月) 12:57:09.68ID:jdL+tw0rあとm_はキャメルケースルール下だとやっぱ汚いと思うよ
0386デフォルトの名無しさん
2015/07/20(月) 12:59:58.26ID:1Qy7XHWg>個人的には1文字か2文字のメンバ変数(x, yとか)にm_とか付け出すとさすがに気になってくる
そういうもんか。俺は気にならんが。
>_ならまだ目立たないから良い
m_は確かに目立つけど、メンバ変数だとすぐ分かるから目立っていいと俺は思っているよ。
0387デフォルトの名無しさん
2015/07/20(月) 13:00:36.46ID:HS03ITz917.6.4 は標準ライブラリを使う側のプログラムへの要求だよ。
17.6.4.1 [constraints.overview]
> This section describes restrictions on C++ programs that use the facilities of the C++ standard library.
0388デフォルトの名無しさん
2015/07/20(月) 13:32:43.78ID:vG0VnJUE超だっせーのになるってことか? やだなあ...
0389デフォルトの名無しさん
2015/07/20(月) 13:32:51.51ID:EgeIk5gCダブルアンダースコア+ローワーケースレターまでは許され
スタンダードライブラリーをつかわなければ全てがゆるされるというこったな
0390デフォルトの名無しさん
2015/07/20(月) 13:33:58.16ID:UX3o5Q0t_Generic、_Boolの悪口はやめろ
0391デフォルトの名無しさん
2015/07/20(月) 13:39:20.78ID:HS03ITz9C はそっちの方針だけど、 C++ は thread_local やら noexcept やら、それまで予約されてなかった
キーワードも規格改定でぶちこんできてる。
0392デフォルトの名無しさん
2015/07/20(月) 13:41:28.54ID:HS03ITz9ダブルアンダースコアは先頭でも途中でも、後続の文字も関係なしに、含んだ時点でアウト。
標準ライブラリを使わなくても処理系独自キーワードとかぶる可能性があったりする。
ギリギリの線を攻める意味も無いんだから、やめとこう。
0393デフォルトの名無しさん
2015/07/20(月) 14:08:32.66ID:/EsSmyHWC++にはnamespaceがあるからCとは状況が違う
0394デフォルトの名無しさん
2015/07/20(月) 14:11:19.29ID:/EsSmyHWそういう名前を処理系側では#defineでも使えるってこと
これにぶつかっちゃったらエライことになる
0395デフォルトの名無しさん
2015/07/20(月) 15:23:42.19ID:vG0VnJUEはい??
0396デフォルトの名無しさん
2015/07/20(月) 15:24:38.78ID:CPoN3U++>>392
スネークケースそのものが駄目って事?
意味不明っす
0397デフォルトの名無しさん
2015/07/20(月) 15:29:20.21ID:0xEKvDHz0398デフォルトの名無しさん
2015/07/20(月) 15:34:30.10ID:CPoN3U++処理系依存のキーワードなんてandとかorとかもあるし
0399デフォルトの名無しさん
2015/07/20(月) 17:02:34.09ID:theP84i7初耳です
0400デフォルトの名無しさん
2015/07/20(月) 17:22:52.28ID:3GP2WUWh0401デフォルトの名無しさん
2015/07/20(月) 19:38:43.04ID:EgeIk5gCconstと非constの違いをまとめてなんで一つのLvalueだけなんだ
0402デフォルトの名無しさん
2015/07/20(月) 19:56:49.05ID:EgeIk5gCたぶん前もって決まっているんだと思う
0403デフォルトの名無しさん
2015/07/20(月) 20:10:32.75ID:theP84i70404デフォルトの名無しさん
2015/07/20(月) 23:42:04.76ID:theP84i7変数テンプレートが実装されなかったのが残念
0405デフォルトの名無しさん
2015/07/21(火) 00:19:31.75ID:xbZldfZG初めて知ったが、規格上処理系依存ではないんだな
実装されてなさすぎワロタ
0406デフォルトの名無しさん
2015/07/21(火) 00:39:02.34ID:66nchpml実装されてない処理系を知らんのだけど、たとえばどのコンパイラのこと言ってるの?
0407デフォルトの名無しさん
2015/07/21(火) 03:03:52.41ID:xbZldfZGVCとICCが標準で使えない
前者は非互換になるオプション(Ze)がいる
0408デフォルトの名無しさん
2015/07/21(火) 03:08:18.38ID:xbZldfZGVCは標準互換のオプション使うと無効化される
だから規格にないと思ってた
0409デフォルトの名無しさん
2015/07/21(火) 06:43:45.08ID:dIWzDdscちゃんとciso646をincludeしてる?
0410デフォルトの名無しさん
2015/07/21(火) 07:17:08.16ID:2lvOHioe0411デフォルトの名無しさん
2015/07/21(火) 07:32:32.88ID:66nchpmlありがと。
でも、オプションは逆じゃない?
拡張を無効にする /Za をつけると有効になるみたいだよ。
(これつけずに使うことがほとんど無かったから知らんかった。)
0412デフォルトの名無しさん
2015/07/21(火) 19:36:50.33ID:v140k6px拡張を無効にしたら使い物にならないのに
拡張を無効にしないとand
orが使えなかったり
(int)int_var が左辺値になったり
copy elision発生時にアクセスチェックまで省略されたり
0413デフォルトの名無しさん
2015/07/23(木) 00:51:56.44ID:/YfM4MQSclassとかあればC++でしょうけど
struct a{};
int main(){return 0;}
ってどっちですか?
0414デフォルトの名無しさん
2015/07/23(木) 01:24:22.01ID:EPGeDhPMC++コンパイラを使うならC++
0415デフォルトの名無しさん
2015/07/23(木) 12:41:33.94ID:3A7pwT7M0416デフォルトの名無しさん
2015/07/23(木) 13:25:31.50ID:gy7efRcB0417デフォルトの名無しさん
2015/07/23(木) 16:41:56.03ID:kJODPirDそんな人の感情によることをいわれても共感できん
0418デフォルトの名無しさん
2015/07/23(木) 17:03:04.56ID:gy7efRcBグローバルな静的オブジェクトは明示的にデストラクターを呼ぶ
しかないですか?
0419デフォルトの名無しさん
2015/07/23(木) 17:20:10.95ID:XEXujvvo0420デフォルトの名無しさん
2015/07/23(木) 17:21:38.38ID:gy7efRcBローカルな静的オブジェクトなら呼ばれますが
0421デフォルトの名無しさん
2015/07/23(木) 17:23:21.48ID:P0N6qRSq0422デフォルトの名無しさん
2015/07/23(木) 17:24:26.72ID:xZrbYjHT前方参照で言いがかりつけるな。
何をもって「呼ばれていない」と判断したのか?
http://codepad.org/ghjuffa9
0424デフォルトの名無しさん
2015/07/23(木) 17:42:08.38ID:gy7efRcB#include <iostream>
class C {
private:
int k;
public:
static C* obj;
C() { k = 234; }
~C() {std::cout << k << std::endl; }
void f() { k = 567; }
};
C* C::obj=0;
int main() {
C::obj=new C{};
C::obj->f();
return 0;
}
呼ばれませんが?
0425デフォルトの名無しさん
2015/07/23(木) 17:54:30.63ID:0bQVjowKhttp://codepad.org/I1lt6293
0426デフォルトの名無しさん
2015/07/23(木) 17:59:38.71ID:SDUt2RZCだってdeleteしてないじゃん
勝手に呼んで欲しいんならstd::unique_ptrにでも入れとけ
0427デフォルトの名無しさん
2015/07/23(木) 17:59:42.90ID:snSKADQvそれって静的なポインタに収められた動的なオブジェクトじゃね?
0428デフォルトの名無しさん
2015/07/23(木) 18:02:43.93ID:gy7efRcB動的初期化はことなる翻訳単位の初期化の順序が決まってないから駄目でしょ
0429デフォルトの名無しさん
2015/07/23(木) 18:03:15.80ID:SDUt2RZChttp://ideone.com/62fuNk
こうでもしとけ
0430デフォルトの名無しさん
2015/07/23(木) 18:07:12.28ID:Yxc4xF6u0431デフォルトの名無しさん
2015/07/23(木) 18:08:51.73ID:Yxc4xF6u世の中rawな表現でnullptr != reinterpret_cast<void*>(0)な処理系がよくあるからな。
0432デフォルトの名無しさん
2015/07/23(木) 18:09:11.29ID:C1/pAh/xnew したものはどんな場合でも delete しなければならない.
>>424 の場合,delete してはじめてデストラクタを呼ぶ
この場合は静的かどうかは関係ない
http://codepad.org/QeTLK3Og
>>429
スマートポインタって便利‥
0433デフォルトの名無しさん
2015/07/23(木) 18:11:02.65ID:QCXWa6Cu0434デフォルトの名無しさん
2015/07/23(木) 18:13:03.46ID:Yxc4xF6u生成と削除に対称性がない
対称性がないときは所有権が曖昧だから特定の束縛に属さない所有権を管理するshared_ptrを使おう
グローバル領域で初期化するなら、unique_ptrが該当する
0435デフォルトの名無しさん
2015/07/23(木) 18:13:57.75ID:Mh+gXEsDわかってなかったのが原因みたいですね.
>>428
静的オブジェクトのコンストラクタ呼び出し順序が
明確に定義されていないことは>>425では問題ないと思います.
http://giftserver.dip.jp/anotherproject/html_l5/develop/pgmemo/static_constructor.htm
0436デフォルトの名無しさん
2015/07/23(木) 18:28:06.86ID:W0UhYhAM>>425>>435がQですね?
0437デフォルトの名無しさん
2015/07/23(木) 18:32:08.59ID:gy7efRcB0438デフォルトの名無しさん
2015/07/23(木) 18:42:52.87ID:7r9E6oO2具体的にお前の書いた方法と比べて何が駄目なのか理解してるか?
0439デフォルトの名無しさん
2015/07/23(木) 18:53:54.67ID:gy7efRcB0440デフォルトの名無しさん
2015/07/23(木) 18:54:05.71ID:KRR5x924>静的オブジェクトのコンストラクタ呼び出し順序が明確に定義されていない
ほうほう、そのようなことが規格のどこに書かれているのですか?
0441デフォルトの名無しさん
2015/07/23(木) 19:00:10.65ID:7r9E6oO2あっそ
何も言うこと無いわ
0442デフォルトの名無しさん
2015/07/23(木) 19:29:02.58ID:KRR5x924>>425を本気で理解できないとは考えにくい
はて、どこに落とし穴を用意されたか
0443デフォルトの名無しさん
2015/07/23(木) 20:18:37.91ID:C1/pAh/x今日は伸びないね‥
0444デフォルトの名無しさん
2015/07/23(木) 20:57:29.13ID:1XDLBSdoオブジェクトのコンストラクタってなに?
0445デフォルトの名無しさん
2015/07/23(木) 21:26:48.61ID:R0aGjqJ40446デフォルトの名無しさん
2015/07/23(木) 21:35:59.33ID:xZrbYjHTヴァカの一つ覚えの炎上学習法をまだやってんのか。
お前、規格読む能力が欠如してる。隔離スレに引っ込んでろ。
0447デフォルトの名無しさん
2015/07/23(木) 21:40:23.78ID:/YfM4MQSキタ━━━━━━(゚∀゚)━━━━━━ !!
0448デフォルトの名無しさん
2015/07/23(木) 21:46:18.82ID:xZrbYjHT知能指数が80切ってる奴は養護教室に行きなさい。
0449デフォルトの名無しさん
2015/07/23(木) 22:02:00.32ID:b7PmeWYZ0450デフォルトの名無しさん
2015/07/23(木) 22:42:54.17ID:hSpOI8hk静的オブジェクトのコンストラクタが呼び出される順番にクセがあって,
結果が変わることがあるよ.
ヘッダ
https://ideone.com/cuhP7T
ヘッダの実装
https://ideone.com/n3Gq50
メイン関数:グローバル版とローカル版で結果が異なる
https://ideone.com/V1vXF5
ローカル版だと期待通りだけど,グローバル版だと
最後に静的オブジェクトが作られるから0になっちゃう.
でも
「静的オブジェクトのコンストラクタ呼び出しが明確に〜」
って書き方は変・・・なのかな?
静的オブジェクトの定義もグローバルに書いてるから,
確実に最後に処理されるメイン処理が予想通りなのは当たり前で,
むしろグローバルなとこにBの変数書くのがおかしい,みたいな.
0451デフォルトの名無しさん
2015/07/23(木) 23:17:49.03ID:/YfM4MQSソースファイルが1つしかないなんてことあるのか?
0452デフォルトの名無しさん
2015/07/23(木) 23:19:06.74ID:0DWDuODuコンストラクタでメンバ変数の初期化を書いてて、
Reset()見たいなメンバ関数作ってそこでも同じような初期化書いたりしてるんですが、
何かいい方法ないですかね。
0453デフォルトの名無しさん
2015/07/23(木) 23:20:40.93ID:hmbuKdpMこれは仮想メンバ関数?
0454デフォルトの名無しさん
2015/07/23(木) 23:21:04.73ID:OfB5opukあるかないかと言われたら、そりゃあるよ
ちょっとしたフィルタを書いたりすることもあるから
0455デフォルトの名無しさん
2015/07/23(木) 23:23:05.40ID:kZB85tZcそもそもcout使える保証もないよね。
0456デフォルトの名無しさん
2015/07/23(木) 23:44:18.96ID:0bQVjowKお前ちょっとそれっぽい話聞かされるとすぐ騙されるタイプだろ
関数内のstatic変数はその関数で初めて使用されるときに生成されるから翻訳単位とか関係ねえよ
0457デフォルトの名無しさん
2015/07/23(木) 23:46:51.81ID:hSpOI8hkていうかそれ言い出したら標準ライブラリ自体,自立処理系で
使えるヤツしか使えなくなります.
<cstddef>
<cfloat> <limits> <climits>
<cstdint>
以下略
0458デフォルトの名無しさん
2015/07/24(金) 00:48:11.13ID:8Vtn8iZT>関数内のstatic変数はその関数で初めて使用されるときに生成される
ファッ!?
0459デフォルトの名無しさん
2015/07/24(金) 01:27:57.27ID:8Vtn8iZT初期化は関数がコールされた時だと思ってたわ
よく出来てるなあ
0460デフォルトの名無しさん
2015/07/24(金) 02:20:29.25ID:y3WFLvSD規格では処理系側で排他するようになった筈だけどVS2015は対応した?
0461デフォルトの名無しさん
2015/07/24(金) 07:36:21.51ID:PsNEGn770462デフォルトの名無しさん
2015/07/24(金) 07:50:50.38ID:fsLS4MwQした
MSはこれをmagic staticと呼んでいる
0463デフォルトの名無しさん
2015/07/24(金) 08:21:38.90ID:BQJ0D8B60464デフォルトの名無しさん
2015/07/24(金) 08:55:37.00ID:2SZcvTssだいたいこんなもん。 https://goo.gl/98Isbx
よくできてると思うよ。
0465デフォルトの名無しさん
2015/07/24(金) 08:58:08.82ID:2SZcvTssローカル(関数内)の場合とテンプレートの場合、ぐらいかな?
非ローカルでテンプレートでもないものは翻訳単位内での定義順になってくれる。
ほかにもあったっけ?
0466デフォルトの名無しさん
2015/07/24(金) 12:17:34.74ID:PsNEGn77もっと単純な場合でも起こる。3.6.2 Initialization of non-local variablesのp3 Noteにコード例が載ってる。
0467デフォルトの名無しさん
2015/07/24(金) 12:30:58.68ID:eSxPkpdjと言い出しそうだな
0468デフォルトの名無しさん
2015/07/24(金) 12:43:52.52ID:8Vtn8iZT0469デフォルトの名無しさん
2015/07/24(金) 15:41:14.72ID:6QVy5hKSCとかC++とかC#とかはC言語の中の種類みたいな認識であってますか?
0470デフォルトの名無しさん
2015/07/24(金) 15:49:34.18ID:otR8/vJ50471デフォルトの名無しさん
2015/07/24(金) 15:49:51.64ID:8468n2WQCでできることはおおよそC++でも可能
逆は不可能
0472デフォルトの名無しさん
2015/07/24(金) 15:51:23.82ID:6QVy5hKSではプログラミングを始めるならはC++から学ぶといいですかね?
0473デフォルトの名無しさん
2015/07/24(金) 16:08:23.46ID:l4UkmRbf0474デフォルトの名無しさん
2015/07/24(金) 16:09:41.45ID:otR8/vJ50475デフォルトの名無しさん
2015/07/24(金) 17:15:33.91ID:y3WFLvSDでも俺としてはそれで済むならC#から始めることをお勧めするな
C++からだと不要にトリッキーなプログラミングをする癖がつきやすい
0476デフォルトの名無しさん
2015/07/24(金) 17:39:32.54ID:Revko7nN後発の言語の方がおかしな所が見直されてるからな
0477デフォルトの名無しさん
2015/07/24(金) 17:40:42.39ID:+CDH8aof誰も聞いていないか…
0478デフォルトの名無しさん
2015/07/24(金) 18:29:26.56ID:diT8B+xd「勉強ができる」と「仕事ができる」は同義じゃないっていう無慈悲な事実
0479デフォルトの名無しさん
2015/07/24(金) 18:41:00.52ID:NJH5MAPw0480デフォルトの名無しさん
2015/07/24(金) 18:54:00.87ID:8CeE8PkwC, C++, C# の全てを使う必要があるなら C からやった方がいい
C# から入って C とかやるはめになったら、なんでこんな面倒なコード書かなきゃダメなんだよ...
って終始イライラするはめになるぞ w
0481デフォルトの名無しさん
2015/07/24(金) 19:03:38.85ID:otR8/vJ5それってさ、C#を通るつもりなら順序関係なくついて回るイライラじゃね?
0482デフォルトの名無しさん
2015/07/24(金) 19:03:54.37ID:6QVy5hKS色んな意見があるみたいですが
C言語から初めてみようと思います
プログラムで使うソフトはVisual Studio無料版で大丈夫ですか?
0483デフォルトの名無しさん
2015/07/24(金) 19:40:33.89ID:4dRSof9v>って終始イライラするはめになるぞ w
それはやむを得ない最低限のコスト
0484デフォルトの名無しさん
2015/07/24(金) 19:41:43.22ID:+CDH8aof0485デフォルトの名無しさん
2015/07/24(金) 19:53:30.63ID:/F2avD0Eそのあとはc#で落ち着いてる。
0486デフォルトの名無しさん
2015/07/24(金) 20:10:06.58ID:NJH5MAPwだからお前はちゃんとクソコテ付けろと言ってるのに
0487デフォルトの名無しさん
2015/07/24(金) 21:05:29.52ID:8CeE8Pkwいや、C しか知らなきゃ面倒だとは思ってもイライラはしないよ
C# ならこんなことしなくても、とか思わないからな
まあ、C なんてやらずにすむのが一番いいけど
>>486
見境なく噛みつく基地害かよ
そのまま逝っとけ
0488デフォルトの名無しさん
2015/07/24(金) 23:30:08.68ID:509tizNI0489デフォルトの名無しさん
2015/07/25(土) 00:20:59.50ID:yG8XW9tgCから始めたらそのイライラが最初に来るだけに思うが。
0490デフォルトの名無しさん
2015/07/25(土) 02:06:45.82ID:WJLexyQmhttp://i.imgur.com/1eeEjgC.jpg
0491デフォルトの名無しさん
2015/07/25(土) 02:30:52.04ID:+c/GPg8S次にC(C++でも可)でC言語でプログラミングとメモリの関連を理解する
そしてC++のSTLのコンテナをちょっと使い,その便利さに感動する
その頃には力がついているだろうから,他の高級言語にも触れてみて
いかにC++がいかにクソ面倒な言語だったかを知るといい
0492デフォルトの名無しさん
2015/07/25(土) 08:59:56.13ID:SkX3Z7YGコンパイル型とはなんぞやをすっ飛ばすのもダメだからな
次は Dだ そうすれば C/C++ は不要だと気づkうわなにをすr
0493デフォルトの名無しさん
2015/07/25(土) 09:06:35.44ID:4YIeOEp8ぱっと見てQであることがわかるようにしないと
初心者が間違えてレス読んじゃうだろ
0494デフォルトの名無しさん
2015/07/25(土) 12:26:39.13ID:aklrBB2J0495デフォルトの名無しさん
2015/07/25(土) 14:00:54.67ID:9sBkx8wSC# 知らなきゃ羨むこともない
羨むことがなければイライラもしない
>>488, >>493
基地害乙
0496デフォルトの名無しさん
2015/07/25(土) 15:31:58.00ID:M81ZVCG0スクリプト言語をクリトリス言語って読んだ…
0497デフォルトの名無しさん
2015/07/25(土) 16:25:39.93ID:BWHqIEpS夜中に疲れるようなことはしてなさそうだし
0498デフォルトの名無しさん
2015/07/25(土) 16:58:43.29ID:HsoHLuhxそれを日本語で叫んでいるからでは?
0499デフォルトの名無しさん
2015/07/25(土) 17:22:58.00ID:nLnyX4/GVisualStudio2003 VC++に変換し、ビルドしたら以下のエラーがでたんですが、
何をすればよいのですか?
とっかかりがわからないので誰か助けて下さい。
c:\****.h(32) : warning C4002: マクロ 'W2A' に指定された実引数の数が多すぎます。
c:\****.h(32) : error C2143: 構文エラー : ')' が '=' の前にありません。
c:\****.h(32) : error C2334: ':' の前に予期しないトークンがありました。関数の本体は無視されます
c:\****.h(32) : error C2760: 構文エラー : '{' でなければなりませんが、';' が使われています。
c:\****.h(33) : error C2144: 構文エラー : 'int' は '}' によって先行されなければなりません。
c:\****.h(33) : error C2226: 構文エラー : 'BOOL' 型指定子の前あるいは内部で構文エラーが発生しました。
c:\****.h(33) : error C2238: ';' の前に無効なトークンがあります。
0500デフォルトの名無しさん
2015/07/25(土) 17:25:14.32ID:bLirGUmg0501デフォルトの名無しさん
2015/07/25(土) 18:06:55.55ID:nLnyX4/Gです。
0502デフォルトの名無しさん
2015/07/25(土) 18:10:04.16ID:bLirGUmg貼るのは中身に決まってるだろ!
ファイル名書いてどうすんだよ!
0503デフォルトの名無しさん
2015/07/25(土) 18:18:38.46ID:KYYL09mI0504デフォルトの名無しさん
2015/07/25(土) 18:25:42.26ID:Vn8b7tdb/c:/Souce/func.h にはファイルが見つかりませんでした。
って出ました。どうすればいいですか
0505デフォルトの名無しさん
2015/07/25(土) 18:30:49.41ID:bLirGUmgid変わっとるぞ
偽物かよw
0506デフォルトの名無しさん
2015/07/25(土) 18:38:24.27ID:LiaI99xy電車の中なのに笑わせんなw恥ずかしい・・・
0507デフォルトの名無しさん
2015/07/25(土) 18:43:44.81ID:gam3Nnrg0508デフォルトの名無しさん
2015/07/25(土) 19:16:49.46ID:JrsaQ9nu0509デフォルトの名無しさん
2015/07/25(土) 19:40:55.54ID:nLnyX4/Gどうぞお知恵を下さい。
0510デフォルトの名無しさん
2015/07/25(土) 19:43:35.92ID:nLnyX4/G#define __FUNC_H__
class CGfunc
{
public:
CGfunc();
~CGfunc();
static void GetModuleDir( CString& strDir );
static BOOL DW2AH(BYTE* pbyTo, DWORD dwFrom, int nSize);
static BOOL B2Z(BYTE* pbyTo, WORD wFrom, int nSize);
static BOOL CheckAndCreateDirectory(LPCSTR szCheckDirectory,
BOOL bCreate,
BOOL bShowMsg = FALSE );
static DWORD PassTime(DWORD StartTime, DWORD EndTime);
static LONG StringToLong( LPCTSTR lpszText, BOOL *pBool, int nBase );
static BOOL B2A(BYTE* pbyTo, WORD wFrom, int nSize);
static BOOL A2B(BYTE* pbyTo, BYTE* pbyFrom, int nSize);
static BOOL W2A(BYTE* pbyTo, WORD wFrom, int nSize);
static BOOL W2Z(BYTE* pbyTo, WORD wFrom, int nSize);
static BOOL A2W(WORD* pwTo, BYTE* pbyFrom, int nSize);
static BOOL A2DWH(DWORD* pdwTo, BYTE* pbyForm, int nSize);
0511デフォルトの名無しさん
2015/07/25(土) 20:03:37.77ID:309x+t0o下の方のエラーは、上の方のエラーの影響で、
連鎖的にエラーになっているだけかも知れないので、
一番上のエラーから、一つずつ解決していく
warning は後でもよいので、
まず、error C2143 から修正してビルドする。
すると、それより下のエラーが無くなるかも
0512デフォルトの名無しさん
2015/07/25(土) 20:05:53.70ID:yG8XW9tgMFCに同名のマクロがあるからそれとかちあってるんだろう。
0513デフォルトの名無しさん
2015/07/25(土) 20:11:20.10ID:bLirGUmg>BOOL bShowMsg = FALSE );
このデフォルト引数の書き方、これで良かったっけ?
最近c#、jsやってばかりなのでc++文法忘れたw
0514デフォルトの名無しさん
2015/07/25(土) 20:21:15.04ID:gam3Nnrg問題ないと思うけど。
0515デフォルトの名無しさん
2015/07/25(土) 20:21:43.52ID:9SEykvB/0516デフォルトの名無しさん
2015/07/25(土) 20:23:09.46ID:bLirGUmgあっそう。ならいいか。おいらの勘違い。
optional付けるのは何だっけ?
0517デフォルトの名無しさん
2015/07/25(土) 21:02:49.41ID:nLnyX4/G解決しました!
ありがとうございます!!
0518デフォルトの名無しさん
2015/07/25(土) 21:06:33.90ID:bLirGUmgなかなかやるなあ。
0519デフォルトの名無しさん
2015/07/25(土) 21:24:02.27ID:OlGyUGGN0520デフォルトの名無しさん
2015/07/25(土) 21:27:15.25ID:9sBkx8wSVBA 廚が来るスレじゃないよ
0521デフォルトの名無しさん
2015/07/25(土) 21:31:39.12ID:bLirGUmgああvbか。へへへ
0522デフォルトの名無しさん
2015/07/26(日) 01:14:02.10ID:crh35aQyなんだこの糞コードは
0523デフォルトの名無しさん
2015/07/26(日) 01:17:02.51ID:gbPhG/q30524デフォルトの名無しさん
2015/07/26(日) 01:19:21.34ID:b9Te7oyV古典的なインクルードガードだよ
0525デフォルトの名無しさん
2015/07/26(日) 01:33:01.27ID:gbPhG/q3俺にとってはマシンを買うので精一杯。どうすればマシン語を学べるかも分からんかった。
javaにしろC#にしろGUIの統合開発環境がタダで手に入る。しかし本格的なC/C++開発環境は高い…
0526デフォルトの名無しさん
2015/07/26(日) 02:06:15.51ID:MbDtouES0527デフォルトの名無しさん
2015/07/26(日) 05:39:55.53ID:lHuPUw3Lダメだめんどくせえ
0528デフォルトの名無しさん
2015/07/26(日) 09:21:43.15ID:dpaqhCLaワシはトランジスタとかハードに興味があってそこからCPUの内部構成とか本を読み進めていったから、
パソコン手にいれてBASIC遅い、いきなりハンドアセンブルだったけど。
中身がわかっていればなんとかなる。
ブラックボックスだとどうにもならん。
0529デフォルトの名無しさん
2015/07/26(日) 09:37:04.43ID:Cv7bqKbxvisual studio有るやん?
0530デフォルトの名無しさん
2015/07/26(日) 09:55:40.41ID:d9clz1q1Visual Studio 2013 communityをダウソして幸せ
タダなのにPGOも使える…!
0531デフォルトの名無しさん
2015/07/26(日) 09:58:00.05ID:d9clz1q1タダで入手できる、
ttp://monoist.atmarkit.co.jp/mn/articles/0709/26/news119.html
0532デフォルトの名無しさん
2015/07/26(日) 09:58:51.80ID:Cv7bqKbxpgoって何やネン?きーたことないぞ。
有名なのか?
0533デフォルトの名無しさん
2015/07/26(日) 10:00:08.82ID:Cv7bqKbxわざわざそんなの使うメリットって何?
visualstudioでええやん?
0534デフォルトの名無しさん
2015/07/26(日) 10:03:55.03ID:d9clz1q1ガイド付き最適化。実行時プロファイルに基づく最適化のキッツイやつハアハア;
ttps://msdn.microsoft.com/ja-jp/library/e7k32f4k.aspx
>>533
Eclipse + CDTに馴染んどくとアンド○イドやNi○sとかが姦れる、
0535デフォルトの名無しさん
2015/07/26(日) 10:06:36.07ID:dpaqhCLa言語拡張がキモいが
0536デフォルトの名無しさん
2015/07/26(日) 10:09:47.65ID:Cv7bqKbx>>>532
>ガイド付き最適化。実行時プロファイルに基づく最適化のキッツイやつハアハア;
url見たが難しそうな機能だな。君は優秀なのか。どんなアプリでこんな機能が役立つんだ?
>>>533
>Eclipse + CDTに馴染んどくとアンド○イドやNi○sとかが姦れる、
なるほど。でも
android studioじゃあダメなん?
0537デフォルトの名無しさん
2015/07/26(日) 10:51:02.38ID:d9clz1q1別に
>>536
童貞なのでわかりません詳しく教えてください
0538デフォルトの名無しさん
2015/07/26(日) 12:39:30.77ID:FhhlC2CC0539デフォルトの名無しさん
2015/07/26(日) 13:12:42.26ID:lHuPUw3Lとりあえず今作っているソフトの開発が終わるまでは今のバージョンを使った方がいいかもしれない
0540デフォルトの名無しさん
2015/07/26(日) 13:29:53.12ID:FhhlC2CC拡張抑制/Zaになってたな
0541デフォルトの名無しさん
2015/07/26(日) 21:47:29.71ID:gjPv3y4Y300tくらいあったのか?
0542デフォルトの名無しさん
2015/07/27(月) 11:29:38.12ID:CNZagTjDアンスコから始まるの予約されてるだろバーカ
0543デフォルトの名無しさん
2015/07/27(月) 13:08:08.96ID:6aCEZs+00544デフォルトの名無しさん
2015/07/27(月) 13:20:26.27ID:B/9oklNt0545デフォルトの名無しさん
2015/07/27(月) 15:16:43.50ID:BydnIZC/MOST BRILLIANTEST C++ XML CREATION LIBRARY
http://www.mr-edd.co.uk/code/xsmell
0546デフォルトの名無しさん
2015/07/28(火) 09:53:48.98ID:bQaTHCYNこれをテンプレート引数で渡す方法は
関数、ラムダ式をクラスでラッピングして渡す以外
ありませんね
0547デフォルトの名無しさん
2015/07/28(火) 10:06:02.18ID:dTDCCqO3int* hage=new int[3]();
hogeの中身は不定ですがhageの中身は0になります。
この動作は規格で定められているのですか?
0548デフォルトの名無しさん
2015/07/28(火) 10:07:38.29ID:bQaTHCYNusing namespace std;
auto f(){cout<<"a"<<endl;}
struct F{
auto operator()(){f();}
};
template<typename T>
struct G:public T{
auto f(){ T::operator()();}
};
int main() {
G<F> g;
g.f();
return 0;
}
これがラッピングしなければならないときの例ですね
0549デフォルトの名無しさん
2015/07/28(火) 10:27:21.35ID:/loMUuqpはい。 5.3.4 [expr.new] p17 → 8.5 [dcl.init]
0550デフォルトの名無しさん
2015/07/28(火) 10:31:51.77ID:/loMUuqptemplate<void (&F)()> void f() { F(); }
void g();
int main() { f<g>(); }
ラムダ式じゃなければふつうに渡せる。
非 static メンバ関数だともう少し面倒。
ラムダ式の場合は >548 の形でもできないでしょ。
0551デフォルトの名無しさん
2015/07/28(火) 11:38:28.77ID:bQaTHCYNusing namespace std;
auto f=[](){cout<<"a"<<endl;};
struct F{
auto operator()(){f();}
};
template<typename T>
struct G:public T{
auto f(){ T::operator()();}
};
int main() {
G<F> g;
g.f();
return 0;
}
ラムダ式のときもできる
0552デフォルトの名無しさん
2015/07/28(火) 21:25:18.87ID:SNZ52Jzuhttp://ideone.com/NtuGx8
0553デフォルトの名無しさん
2015/07/29(水) 02:42:43.53ID:NQzSGNNc0554デフォルトの名無しさん
2015/07/29(水) 07:13:39.09ID:rk6LjJd2まれに必要になるのでそんなクソ仕様はノーサンクス
0555デフォルトの名無しさん
2015/07/29(水) 12:32:57.50ID:28u7IK/+0556デフォルトの名無しさん
2015/07/29(水) 13:06:15.18ID:bvg/9GfF0557デフォルトの名無しさん
2015/07/29(水) 13:48:15.68ID:c3o2n8R7プログラマのヘッドはイライラで薄くなる。cヘッダーの法則。
0558デフォルトの名無しさん
2015/07/29(水) 13:57:38.20ID:X1QI8uU60559デフォルトの名無しさん
2015/07/29(水) 16:41:18.43ID:Ksre1ZX70560デフォルトの名無しさん
2015/07/29(水) 17:23:22.00ID:cLTEarjr多重インクルードがどうのこうのってヘッダに一体何をしているのよ
まあ、この方法で防げない多重インクルードもあるにはあるけど…
0561デフォルトの名無しさん
2015/07/29(水) 17:39:59.57ID:pbVhTscn0562デフォルトの名無しさん
2015/07/29(水) 17:58:43.44ID:3D4kyBndヘッダファイルが無くなったら死んでしまう
0563デフォルトの名無しさん
2015/07/29(水) 18:58:20.34ID:rGYq8vhn0564デフォルトの名無しさん
2015/07/29(水) 19:44:04.54ID:i9R3N92yMyClass<double>じゃだめなのか?
0565デフォルトの名無しさん
2015/07/29(水) 20:25:25.14ID:rGYq8vhn0566デフォルトの名無しさん
2015/07/29(水) 21:10:06.80ID:JV2gkNFIhttp://ideone.com/xk6OYu
0567デフォルトの名無しさん
2015/07/29(水) 21:34:36.21ID:c3o2n8R7こういうのやる場合に
いちいちstructやstaticを使わなくちゃ
いけないc++が嫌いなのよね、私。
別に566さんに文句言ってる訳じゃ無いから誤解しちゃ嫌よ。
0568デフォルトの名無しさん
2015/07/29(水) 22:47:54.13ID:i9R3N92yそれなら分子/分母にするとかratio使えば良い
面倒くさいけどしかるべき理由があってそういう仕様になってるんだからしょうがない
0569デフォルトの名無しさん
2015/07/29(水) 23:01:52.16ID:8ufoHAW9いやほんと、キチガイってどうしようもないですね
0570デフォルトの名無しさん
2015/07/30(木) 01:07:46.86ID:1osdJ7bT0571デフォルトの名無しさん
2015/07/30(木) 07:21:57.53ID:IRhOhEU9using namespace std;
struct A{
A(double x){};
};
struct T{
static auto Create(){return A{3.14159265359};}
};
template<typename A,typename T>
struct Singleton{
static Singleton& Instance(){
if(pInstance=nullptr)
pInstance=new Singleton(T::Create());;
return *pInstance;
}
private:
static Singleton *pInstance;
Singleton(A a){};
};
template<typename A,typename T> Singleton<A,T> *Singleton<A,T>::pInstance=nullptr;
int main(){
Singleton<A,T> singleton=Singleton<A,T>::Instance();
return 0;
}
doubleのテンプレート引数が使えないから
こんな風にハードコーディングする以外ないのかwwww
0572デフォルトの名無しさん
2015/07/30(木) 07:43:02.31ID:1osdJ7bT浮動小数点演算での桁落ちなどで、
齟齬が出るを防ぐための仕様なんだから仕方がない
0573デフォルトの名無しさん
2015/07/30(木) 11:47:53.96ID:6YSUOc3O何故かエラーが出てしまうのですが、その原因が分かりません……。
どこを修正すればいいのでしょうか?
https://ideone.com/I20AFB
0574573
2015/07/30(木) 11:53:53.15ID:6YSUOc3O特に訳が分からないのは、friend関数内で
> if (sample.data.find("test") == sample.data.end()) {
> return false;
> }
と書いてもエラーが出ず正常に処理されるのに、同じように中を覗くだけな
> if(sample.data["test"] == 4){
> return true;
> }
が弾かれるところです……
0575デフォルトの名無しさん
2015/07/30(木) 12:08:38.71ID:zBiabvhV0576デフォルトの名無しさん
2015/07/30(木) 12:12:54.34ID:6YSUOc3O試しにconstを外すと出来ましたが、どうしてなんでしょう……?
0577デフォルトの名無しさん
2015/07/30(木) 12:15:04.02ID:zBiabvhV0578デフォルトの名無しさん
2015/07/30(木) 12:32:30.19ID:LVZCxL2Zoperator[]は存在しないキーを渡された時は新しいエントリ作るし
constな操作だけするならatを使うべき
0579デフォルトの名無しさん
2015/07/30(木) 12:37:51.70ID:6YSUOc3Oatにしたら直りました!ありがとうございます!
0580デフォルトの名無しさん
2015/07/30(木) 21:28:46.56ID:LvAxRdyw内部プロパティーマップの実装方法わかる人教えてください
ソース見ても複雑すぎてわかりませんでした
0581デフォルトの名無しさん
2015/07/30(木) 23:56:55.97ID:iTgfG7Xgstatic int a[5];
return a;
}
この場合get()の戻り値はint[5]型の参照となるのですが
これを型推論を使わずに書くことは不可能ですか?
0582デフォルトの名無しさん
2015/07/30(木) 23:59:49.55ID:hqLCb8yH0583デフォルトの名無しさん
2015/07/31(金) 00:06:41.94ID:M0+dayZbhttp://ideone.com/xs3vL5
0584デフォルトの名無しさん
2015/07/31(金) 05:23:54.49ID:f3sd0Tcl0585デフォルトの名無しさん
2015/07/31(金) 06:18:29.17ID:bf3zool50586デフォルトの名無しさん
2015/07/31(金) 07:15:26.39ID:17HtGFaS0587デフォルトの名無しさん
2015/07/31(金) 08:50:46.77ID:qbq3o/Dlありがとうございます
0588デフォルトの名無しさん
2015/07/31(金) 22:51:25.50ID:vfuWUfREここまで来ると逆に清々しいくらい適当でワラタ
ソースのバグに関しての質問はバグっているソースを貼らないと誰も答えてくれない 誰も
覚えておくといいよぉ
0589デフォルトの名無しさん
2015/08/01(土) 09:38:28.09ID:gbSDlwF+思っている質問者はヤバい
少なくともプログラマには致命的に向いていないな
0590デフォルトの名無しさん
2015/08/01(土) 09:48:31.86ID:UaSYqc/x0591デフォルトの名無しさん
2015/08/01(土) 13:32:10.45ID:Ly9Q7gw0ソースもないのにどうやってバグを特定するんだよ、ここはエスパースレと違うぞ
0592デフォルトの名無しさん
2015/08/01(土) 13:37:20.81ID:ocangCve0593デフォルトの名無しさん
2015/08/02(日) 20:17:59.13ID:RMQu1Ggausing namespace std;
struct C{
auto c(){cout<<"a"<<endl;}
};
template<typename C>
struct B{
auto b(){C c;c.c();}
};
template<typename C,template <typename >typename B>
struct A:public B<C>{
A(){B<C> b;b.b();}
};
int main() {
A<C,B> a;
return 0;
}
このコードで
構造体Aのテンプレート引数でCとBは直行してるといえますか?
ここでCはcというメンバー関数を持っているというポリシーです
0594デフォルトの名無しさん
2015/08/02(日) 20:52:36.42ID:r9zgY4sL0595デフォルトの名無しさん
2015/08/02(日) 21:16:23.04ID:ZDA5sqpG0596デフォルトの名無しさん
2015/08/02(日) 22:25:19.92ID:7ExdGetO0597デフォルトの名無しさん
2015/08/03(月) 22:17:35.15ID:UgmbvDew0598デフォルトの名無しさん
2015/08/03(月) 23:17:32.86ID:D/39CxMZ「直行」だぞ
0599デフォルトの名無しさん
2015/08/03(月) 23:40:04.63ID:DQ3lQWy0クラスに直交とか直行といった観念はない
0600デフォルトの名無しさん
2015/08/04(火) 00:02:23.92ID:nNiIe3QQ直行って感じじゃないよな、なんか経由必死って感じのコードだよな
0601デフォルトの名無しさん
2015/08/04(火) 01:45:27.67ID:k1baIV71アルゴリズムとコンテナの関係。
modern C++ designは必読だな。
0602デフォルトの名無しさん
2015/08/04(火) 22:45:49.46ID:82G3IUDBvectorの要素削除が糞仕様になりました
0603デフォルトの名無しさん
2015/08/04(火) 23:11:24.46ID:Oq1k1GNA0604デフォルトの名無しさん
2015/08/04(火) 23:19:27.90ID:QQEluM3yまぁ、使うないう事なんだろうけど。
0605デフォルトの名無しさん
2015/08/05(水) 01:18:54.80ID:4nkCM5Wjただ後から追加して要素数を変えられるだけの配列ならそんなに使いたいとは思わないかなと
0606デフォルトの名無しさん
2015/08/05(水) 02:46:20.84ID:1AXGWxrj> // <experimental/vector>
> template <class T, class A, class Predicate>
> void erase_if(vector<T, A>& c, Predicate pred);
> template <class T, class A, class U>
> void erase(vector<T, A>& c, const U& value);
0607デフォルトの名無しさん
2015/08/05(水) 08:05:12.93ID:BwGFdpHz効率の良いpop_backやresize使った削除はキレイに書けるし
0608デフォルトの名無しさん
2015/08/05(水) 08:13:44.75ID:V1JL2leZどうしたいきなり
スレ違いか?
0609デフォルトの名無しさん
2015/08/05(水) 12:31:45.91ID:XWi/Xeglえ、>>602以降の流れってそういう話じゃねえの>vectorで要素削除の効率が悪い
0610デフォルトの名無しさん
2015/08/05(水) 12:33:31.84ID:CufRLk0m0611デフォルトの名無しさん
2015/08/05(水) 18:12:46.55ID:tC4jP87nremove-eraseの書き方が面倒ってことじゃね
0612デフォルトの名無しさん
2015/08/05(水) 19:27:29.19ID:bXDjutxr0613デフォルトの名無しさん
2015/08/05(水) 19:35:44.57ID:mBnDCgiD静的に配列の番号がわかるものなら何でもget出来るのよ
もし自由関数じゃなくメソッドなら配列の要素を出したり出来ないでしょ
0614デフォルトの名無しさん
2015/08/05(水) 19:40:28.35ID:CufRLk0m0615デフォルトの名無しさん
2015/08/05(水) 19:46:34.55ID:0Qsn+5C2という相談だろうに
意味不明なケチをつけていると決めつけるなんてちょっと残念な人ですね
0616デフォルトの名無しさん
2015/08/05(水) 20:09:58.55ID:BwGFdpHzその話題を除外すると
ここのレス半分ぐらいになりそうだな
0617デフォルトの名無しさん
2015/08/05(水) 20:11:44.53ID:ulvngql4ソースは?
0618デフォルトの名無しさん
2015/08/05(水) 20:21:42.15ID:4nkCM5Wjそこまで行くと邪推の領域だと思う
ただ主観で生理的に嫌などという感想を言ってるだけの輩はこのスレでは珍しくもないのに、
それを見てそんな想像をしちゃいかん
0619デフォルトの名無しさん
2015/08/05(水) 20:45:38.21ID:0Qsn+5C2このスレは主観で感想言ってるだけの輩が多い
→まあそうかも知れない
612もそうに違いない
→そう思うのは個人の勝手だけど
612はケチをつけるだけのレスである
→決めつけちゃだめ
612が相談であると思うことはいけないことだ
→病んでますね
0620デフォルトの名無しさん
2015/08/05(水) 23:00:55.20ID:4nkCM5Wj0621デフォルトの名無しさん
2015/08/06(木) 17:59:59.91ID:Q19F5Urp一時オブジェクトは大抵スタックに生成されて消滅するようなのですが、
スタック領域を超えるような大きな一時オブジェクトを生成するとスタックオーバーフローで
停止してしまいます
こういう場合スタック領域を増やさないでやり過ごすには、スマポにnewして入れるしか
ないでしょうか?
0622デフォルトの名無しさん
2015/08/06(木) 18:26:22.90ID:z5Vn6nJgオブジェクトが一つでいいなら、staticでとってplacement new
0623デフォルトの名無しさん
2015/08/06(木) 18:27:01.97ID:btF+6/4cvector<Hage> hage(1);
0624デフォルトの名無しさん
2015/08/06(木) 20:54:33.76ID:0BWHDdz7ラッパーを作る
http://ideone.com/DleBDC
0625デフォルトの名無しさん
2015/08/06(木) 22:00:26.80ID:WErVN1hR>>624のahoみたいにintを返す関数なのに返り値をautoにした関数定義ってC++的には良くない書き方だよね
0626デフォルトの名無しさん
2015/08/06(木) 22:14:25.19ID:+xc9fZpc0627デフォルトの名無しさん
2015/08/06(木) 22:45:53.80ID:4i9YhdqXその方がメンテナンスのとき少しの変更だけで済むだろ
0628デフォルトの名無しさん
2015/08/06(木) 23:10:16.07ID:WErVN1hR0629デフォルトの名無しさん
2015/08/06(木) 23:53:49.31ID:YtIxgi9m0630デフォルトの名無しさん
2015/08/07(金) 04:25:21.44ID:2DYolGPsなんてタイムリーな話だ、つい先程&つけ忘れのバグを潰したぞ
range forで失敗するとダングリングポインタになってわかりにくい
0631デフォルトの名無しさん
2015/08/07(金) 09:19:18.16ID:VAWnCwHiただしくはdecltype(auto)だぞ
0632デフォルトの名無しさん
2015/08/07(金) 17:24:18.68ID:VLC7VD9U他人のコード読むのつらそう
0633デフォルトの名無しさん
2015/08/07(金) 17:33:03.54ID:huwnU3aC処理を分けたいのですがどうやって書けばいいですか
#if sizeof int > 4
が使えません
0634デフォルトの名無しさん
2015/08/07(金) 18:08:42.14ID:VAWnCwHi0635デフォルトの名無しさん
2015/08/07(金) 18:19:18.12ID:A3RA+LXU0636デフォルトの名無しさん
2015/08/07(金) 19:33:14.47ID:Wf7UnCAa完全じゃないけど INT_MAX で場合分けすれば実用上問題ないでしょ
0637デフォルトの名無しさん
2015/08/07(金) 20:11:49.21ID:FU68L4Npsizeof typeは文法エラーsizeof(type)にしなきゃならない。
でも、プリプロセッサは定数と解釈してくれないのでダメ。
C++スレなのでテンプレート使えば?
template<int> hoge();
template<> hoge<4>() {}
template<> hoge<8>() {}
hoge<sizeof(int)>();
0638デフォルトの名無しさん
2015/08/07(金) 22:56:57.06ID:dfH8XGN0auto&がどう正しくないのか詳しく
お前の脳内ルールと照らし合わせてNGってのは無しで
0639デフォルトの名無しさん
2015/08/07(金) 23:22:24.81ID:MOuyBS4Eそれはautoの間違った使い方
考えるのを放棄するフリをしながら特定の答えを
期待し厳しく要求する乙女チックな使い方をすべきautoを
童貞が使うようなものだ
0640デフォルトの名無しさん
2015/08/08(土) 01:45:28.44ID:mAU+OpWx0641デフォルトの名無しさん
2015/08/08(土) 07:27:54.62ID:rDuvbo6uぐらいにしか思ってないバカには難しかったかもな
使い分けが必要
http://ideone.com/oXWCe3
0642デフォルトの名無しさん
2015/08/08(土) 07:39:15.95ID:rDuvbo6uまあ、なんでもdecltyte(auto)にすればいいってわけじゃないってことで
0643デフォルトの名無しさん
2015/08/08(土) 08:51:22.03ID:FxpuX4lEjavascriptなんて見たことも触った事も無いって言う人の割合はc++バリバリさんの何パーセントくらいでしょうか?
0644デフォルトの名無しさん
2015/08/08(土) 08:58:52.28ID:cTv9rgDeどっかで触れてる
0645デフォルトの名無しさん
2015/08/08(土) 09:22:45.99ID:CVdJzgpnミミズ程度の知能しかない俺には役に立った
0646デフォルトの名無しさん
2015/08/08(土) 12:10:31.97ID:Mc/f/Gdi業務レベルバリバリと黒魔術バリバリでほぼ別の生き物だから
0647デフォルトの名無しさん
2015/08/08(土) 19:33:00.54ID:OIdneV3Lどっちが黒魔術でどっちが業務レベル?
0648デフォルトの名無しさん
2015/08/08(土) 21:02:12.54ID:mAU+OpWxクソ笑ったw自分がつけ忘れてんじゃねーかw
0649デフォルトの名無しさん
2015/08/08(土) 21:03:50.34ID:mAU+OpWxrange based forの話じゃなかったのか?
0650デフォルトの名無しさん
2015/08/09(日) 01:24:19.04ID:TigXZj7I0651デフォルトの名無しさん
2015/08/09(日) 04:50:31.44ID:ofrSttk10652デフォルトの名無しさん
2015/08/12(水) 21:11:12.97ID:HTmqsBorもしくはもっといい方法ありますか?
関数ポインタ
std:function
winAPIメッセージループ
0654デフォルトの名無しさん
2015/08/12(水) 21:56:25.98ID:P16Kw9k7クラスB内でクラスA引数の関数を定義したいのですが可能でしょうか
0656デフォルトの名無しさん
2015/08/12(水) 22:00:43.84ID:Hhw23eoj故に、コールバック関数呼び出しそのものを、「重い処理」と別スレッドにする理由がわからん…
0658デフォルトの名無しさん
2015/08/12(水) 22:22:45.63ID:4UQwQDGc可能です
0659デフォルトの名無しさん
2015/08/12(水) 22:40:59.04ID:p+j059KJほれ
http://ideone.com/1Jddcc
0660デフォルトの名無しさん
2015/08/12(水) 22:49:57.76ID:Hhw23eojクラスの前方宣言で逝ける…んだけど
>>659
ちょっテンプレート使ってるじゃないですかヤダー
普通は>>657の通りのはず…
0661654
2015/08/12(水) 22:54:48.53ID:P16Kw9k7(public:, 通常コンストラクタ等省略)
class polar{ //極座標
double r,theta;
(ここに コンストラクタ polar(cartes c){r=・・;theta=・・;}を入れたい)
};
class cartes{ //直交座標
double x,y;
cartes(polar p){
x=p.r*cos(p.theta); y=p.r*sin(p.theta);
}
};
0662デフォルトの名無しさん
2015/08/12(水) 23:00:59.57ID:bbP305l/class polar{
public:
polar(const cartes& c){...}
};
class cartes{
};
0663片山博文MZ ◆T6xkBnTXz7B0
2015/08/12(水) 23:01:11.35ID:VQCZ0+hxclass polar{
double r,theta;
polar(const cartes& c);
};
class cartes{
double x,y;
cartes(const polar& p);
};
//ここに書く。
polar::polar(const cartes& c){...}
cartes::cartes(const polar& p){...}
0664デフォルトの名無しさん
2015/08/12(水) 23:02:43.03ID:VQCZ0+hx最初に前方参照
class cartes;
を忘れてた
0665デフォルトの名無しさん
2015/08/12(水) 23:12:31.63ID:p+j059KJhttp://ideone.com/jampCR
ムーブコンストラクターが要るかどうか迷ったけど
高々16バイト程度ならコピーコンストラクターだけのほうが良さそうだ
0667デフォルトの名無しさん
2015/08/12(水) 23:17:03.69ID:Hhw23eoj動くやつ、
ttp://ideone.com/d2Mail
>polar(cartes c){r=・・;theta=・・;}
の引数cが参照でもポインタでも無いから、そこだけ参照に直した
参照が嫌なら>>659みたいなテンプレートを使ったテクニックを使わないと�_
0668654
2015/08/13(木) 01:52:36.39ID:/Z+Jtv+K実行速度を見てどれを採用するか決める予定
0669デフォルトの名無しさん
2015/08/13(木) 04:09:20.02ID:F7Hm2emV名前も忘れてんぞ
0670デフォルトの名無しさん
2015/08/13(木) 06:41:53.30ID:PyJxPq3uAがTを返し,Bはそれを受け取るstd::function<void(T)>型にしてB(A())のようにしたいのですが
Tがvoidの場合にコンパイルが通りません 何かヒントをください
0671デフォルトの名無しさん
2015/08/13(木) 07:24:26.81ID:PyJxPq3u南無三
0672デフォルトの名無しさん
2015/08/13(木) 13:53:32.12ID:GwnFP/pshttp://ideone.com/WmR5RC
こうしないと駄目なんと違うん?テンプレート第一パラメータがvoidだとtが既にintなので
マッチしないし
それとContの中のaとbが逆だよ
0673デフォルトの名無しさん
2015/08/13(木) 14:27:09.33ID:PyJxPq3uありがとう。そしてごめんなさい,寝ぼけていたのか即席のテストクラスの使い方を間違えていました
http://ideone.com/oTjdre
テンプレート関数の書き方が悪いのでしょうか、コメントアウト部分が使えませんでした
0674デフォルトの名無しさん
2015/08/13(木) 14:56:37.22ID:QR/Fxlyk>コメントアウト部分が使えませんでした
そりゃオーバーロードする所だからね
http://ideone.com/ff3wrd
0675デフォルトの名無しさん
2015/08/13(木) 15:33:13.54ID:uOcZA4Uzhttp://ideone.com/4eqftS
基本的にパターンマッチだからね
0676デフォルトの名無しさん
2015/08/13(木) 15:49:48.70ID:lem+RsNM(このような組み合わせで呼び出されるな・・・)と知ってるのはちょっと変なんだけどね
それでもCondがテンプレートパラメータを2つ取るのだから仕方がないんだけど
Testのインスタンスに初めからパラメータを2つ持たせればメンバ関数にパラメータを
持たせる必要はなくなる
0677デフォルトの名無しさん
2015/08/13(木) 16:35:55.46ID:PyJxPq3uその通りです(爆
ありがとうございました
0678デフォルトの名無しさん
2015/08/13(木) 16:54:26.11ID:ruil8mE8<int, int>の組み合わせはいいけど<int, void>の組み合わせでエラーが出る
Tは同じ型なので型が違うラムダ式を渡すとエラーになっちゃうわけだ
もう分かってると思うけどね
0679デフォルトの名無しさん
2015/08/13(木) 17:10:47.49ID:ruil8mE8今回の例はテンプレートの特殊化の練習じゃないの?
実験のような感じがする
0680デフォルトの名無しさん
2015/08/14(金) 18:32:32.97ID:UBi1qBHfusing namespace std;
struct B{
template<int a>
static auto f(int x){return x==a;}
};
template<typename T>
struct A{
auto f(){return T::f<10>(10);}
};
int main() {
A<B> a;
a.f();
return 0;
}
エラーの原因がわかりません
教えてください
0681デフォルトの名無しさん
2015/08/14(金) 18:50:44.25ID:E8ryMIBu> auto f(){return T::f<10>(10);}
< auto f(){return T::template f<10>(10);}
templateをつけないと、コンパイラは operator< と解釈してしまう
template disambiguator とか呼ばれているっぽいけど、
正式な用語とか定義されていないんだろうか?
0682デフォルトの名無しさん
2015/08/14(金) 18:54:52.75ID:UBi1qBHfありがとうございます
勉強になりました
0683デフォルトの名無しさん
2015/08/14(金) 20:28:00.61ID:UBi1qBHfstatic constexpr int a=10;
と書くとリンカエラーでundefined reference toになるんです
クラステンプレートのそとにも
static constexpr int a;
と同じ意味のものを書くとイニシャライザーが必要って出るんです
外にもイニシャライザーをまたかくと
すでにイニシャライザーがあるってでるんですけど
どうしたらいいですか?
0684デフォルトの名無しさん
2015/08/14(金) 20:28:11.62ID:V7l5dQlh現在、バックグラウンドで動くコンソールプログラムを作成したのですが、
そのプログラムから、例えばメモ帳やブラウザの現在の文字カーソルの位置に文字入力できないでしょうか?
ファイルとして出力するならば簡単なのですがそうではなく、感覚としてはキーボードから直接入力する感じです。
0685デフォルトの名無しさん
2015/08/14(金) 20:32:31.49ID:UBi1qBHf質問内容が間違ってました 正解は以下の物です
クラステンプレートのなかで
static constexpr auto a=10;
と書くとリンカエラーでundefined reference toになるんです
クラステンプレートのそとにも
static constexpr auto a;
と同じ意味のものを書くとイニシャライザーが必要って出るんです
外にもイニシャライザーをまたかくと
すでにイニシャライザーがあるってでるんですけど
どうしたらいいですか?
外に書いたやつの型がわからないからエラーになったのだと思います
0686デフォルトの名無しさん
2015/08/14(金) 20:42:10.33ID:VNoblIJkOSのAPI使えばいけるだろ
でもおそらくほんとにやりたいことは別のことだと思うので、それを書いたほうがいい
0687片山博文MZ ◆T6xkBnTXz7B0
2015/08/14(金) 20:45:17.96ID:qMkXaiUF0688片山博文MZ ◆T6xkBnTXz7B0
2015/08/14(金) 20:48:41.25ID:qMkXaiUFconstexpr auto A<n>::a = 9.11;
0690デフォルトの名無しさん
2015/08/14(金) 21:46:00.58ID:V7l5dQlhありがとうございました!
0691デフォルトの名無しさん
2015/08/14(金) 22:19:16.22ID:InteHfYn2回目の定義では初期化子を書けないのでautoが使えない
http://ideone.com/gtO54H
0692デフォルトの名無しさん
2015/08/14(金) 23:53:14.30ID:mKm8Tjx+祖国に帰れよ低能
少なくとも日本語でレスが出来るようになってから出直せ
0693デフォルトの名無しさん
2015/08/15(土) 00:16:52.17ID:TMOiMK6s何か良い本はないでしょうか?
昔、ストラウストラップの「プログラミング言語C++」と
「C++標準ライブラリ チュートリアル&リファレンス」
でC++を勉強しましたが、さすがにもう古いですよね?
UNIX(AIX)の仕事で使用するのでWindows寄りじゃない
本が良いです。
0694デフォルトの名無しさん
2015/08/15(土) 00:20:39.85ID:67jzqQavそうだな
まず江添のアレでも読んどけ
それからスコット何とかさんの何とかという本
0695デフォルトの名無しさん
2015/08/15(土) 00:30:16.98ID:TMOiMK6sアレとかなんとかじゃ、わからんw
C++11/14 コア言語
江添 亮
これが9月発売。
ちょっと間に合わないな・・。
スコット何とかさんは、スコット・メイヤーズのEffective C++シリーズかな。
2014年に第3版が出てるから、これ良いですかね?
0696デフォルトの名無しさん
2015/08/15(土) 00:46:34.49ID:uB3kk6ME>2014年に第3版
それ違う
「Effective Modern C++」の方
江添氏の方は本人が既に無償で公開してる筈
https://github.com/EzoeRyou/cpp-book
0697デフォルトの名無しさん
2015/08/15(土) 00:47:35.50ID:uB3kk6ME0698デフォルトの名無しさん
2015/08/15(土) 06:23:13.54ID:mDjSt+FJ0699デフォルトの名無しさん
2015/08/15(土) 07:12:35.85ID:mKb3k0OHmodern effectiveのほうは新しいことしか書いてないから向いてない
0700デフォルトの名無しさん
2015/08/15(土) 10:00:51.74ID:TMOiMK6s最新の機能は使うつもりないですね。
気になっているのが既存ソースがtry-catchを全然使ってないので、
STL使ったときに想定外の例外が発生しないかくらいです。
newだとエラー時に例外発生で、mallocだと例外発生しない
認識でいいんだっけ?
いまのソースはC++なのに、全部mallocでやってんだよね。
Effective modern C++面白そうだけど、英語版は読むのに
時間かかるからな〜
0701デフォルトの名無しさん
2015/08/15(土) 10:04:45.67ID:mKb3k0OH0702デフォルトの名無しさん
2015/08/15(土) 11:23:10.06ID:fL/PzS3/0703デフォルトの名無しさん
2015/08/15(土) 11:26:54.75ID:6al8NFWf0704デフォルトの名無しさん
2015/08/15(土) 11:28:02.42ID:mKb3k0OHマルチメソッドのところは英語が難しいというより
内容が難しいかったから読んでないが
0705デフォルトの名無しさん
2015/08/15(土) 11:47:36.70ID:mKb3k0OH0706デフォルトの名無しさん
2015/08/15(土) 12:16:12.74ID:PnSP7g2H(核爆)とか久しぶりに見たな……
0707デフォルトの名無しさん
2015/08/15(土) 14:03:23.22ID:VSTuSd2d読んだつもりになってるだけだとみた
0708デフォルトの名無しさん
2015/08/15(土) 16:20:56.58ID:mKb3k0OHその証拠にお前が読めないeffective modernがあったら
一瞬で翻訳してやるよ
0709デフォルトの名無しさん
2015/08/15(土) 16:27:45.86ID:mKb3k0OHそれを超えたらもう時間切れだから
0710デフォルトの名無しさん
2015/08/15(土) 16:34:02.67ID:B2JCrRr+もしかしてセグフォをcatchで捕獲できると思っているのか?
0711デフォルトの名無しさん
2015/08/15(土) 16:35:47.69ID:VSTuSd2d英語が読めるのなんて当たり前だから
0712デフォルトの名無しさん
2015/08/15(土) 16:37:47.79ID:mKb3k0OHこれで読めたと証明したわけだ
英語を読めるのは当たり前じゃない
ほとんどが読めないのが現実
0713デフォルトの名無しさん
2015/08/15(土) 16:38:39.48ID:mKb3k0OHそんなに読んでるやつこのスレはいないでしょ
0714デフォルトの名無しさん
2015/08/15(土) 16:40:59.09ID:VSTuSd2dそんな奴がいくら「読んだ」って言ってもねw
0715デフォルトの名無しさん
2015/08/15(土) 16:48:38.17ID:mKb3k0OH読んでみればわかるよ
0716デフォルトの名無しさん
2015/08/15(土) 17:04:50.79ID:2OOBHwX90717デフォルトの名無しさん
2015/08/15(土) 17:48:10.75ID:QmFGhXkn「きちんと」の程度によるだろうけど、規格を読むのがいいんじゃないの?(ドラフトが pdf で読めるし。)
古いC++でいいならJIS(日本語)もある。
0718デフォルトの名無しさん
2015/08/15(土) 17:56:19.62ID:5NXImCFoあ…、お察し…
0719デフォルトの名無しさん
2015/08/15(土) 17:59:36.46ID:U2H5mvyM0720デフォルトの名無しさん
2015/08/15(土) 18:10:07.84ID:mKb3k0OHごめんごめん、本当は4日掛ったよ
0721デフォルトの名無しさん
2015/08/15(土) 18:55:27.92ID:BX+QymuF触るべきでないのはQとお前くらいなのだが
二人でシリーズとはこれ如何に
0722デフォルトの名無しさん
2015/08/15(土) 23:32:13.52ID:2OOBHwX9そう、ずばり…やめとこう
0723デフォルトの名無しさん
2015/08/15(土) 23:44:14.87ID:TMOiMK6sさすがにそれはないw
本来、異常ログを出力して終了すべきところで
通知なしで終了とかが怖い。
サーバ処理だから人間が見てないので。
core吐く事例は想定しない動作なので、関係なし。
0724デフォルトの名無しさん
2015/08/16(日) 01:58:51.06ID:GzpEZ0Rv0725デフォルトの名無しさん
2015/08/16(日) 02:50:33.36ID:L1HFKl910726デフォルトの名無しさん
2015/08/16(日) 17:09:50.66ID:AGuGQXW7俺、低脳趣味プだから良く分からんが
C++をそれなりに使う奴がマルチスレッド分からんって、なんか低脳って感じがするが
C++でマルチスレッド使っている奴は少ないのか
0727デフォルトの名無しさん
2015/08/16(日) 17:16:12.49ID:nKpFA13zstd::asyncを使うなという風潮さえある
0728デフォルトの名無しさん
2015/08/16(日) 19:05:37.55ID:eaf0lK3p>>726みたいな「C++をそれなりに使える(俺)=マルチスレッドも知ってる」
と勘違いしているのが一番の困り者
0729デフォルトの名無しさん
2015/08/16(日) 19:42:15.91ID:AGuGQXW7WinAPI、pthread、boostを使ったマルチスレッドはC++11以前からあるだろ
C++を使う奴はC++11以前はマルチスレッドをどうしてたんだ?
C++の言語でサポートしていないから使ってなかったのかな
>>728
笑った。俺、俺自身がそれなりにC++が使えるなんて言ってないが
0730デフォルトの名無しさん
2015/08/16(日) 19:59:46.36ID:wimXGjKn0731デフォルトの名無しさん
2015/08/16(日) 20:12:06.67ID:nKpFA13z俺は標準ライブラリーしか使わない主義なんでね
0732デフォルトの名無しさん
2015/08/16(日) 20:20:28.09ID:AGuGQXW7C++の標準ライブラリーのみってすげーな
0733デフォルトの名無しさん
2015/08/16(日) 20:20:59.19ID:wimXGjKn0734デフォルトの名無しさん
2015/08/16(日) 20:41:24.76ID:PU+PJKYpタイマー割り込みとか標準だけじゃ絶対無理だし
0735デフォルトの名無しさん
2015/08/16(日) 21:12:50.79ID:5vUfdwLX0736デフォルトの名無しさん
2015/08/16(日) 21:16:05.37ID:cKTHR7T1処理用の子プロセスなら別に構わんけど
0737デフォルトの名無しさん
2015/08/16(日) 21:35:17.02ID:oHa5zlZBスコットメイヤー尊師の教えに従ってfutureで実装しちゃってるわけ?
0738デフォルトの名無しさん
2015/08/16(日) 21:37:56.88ID:IZlmw+Gb0739デフォルトの名無しさん
2015/08/16(日) 22:42:25.70ID:Dc+2ts/Nregexくらいだな。
0740デフォルトの名無しさん
2015/08/16(日) 22:46:37.24ID:AMMcDK29C++を使ったクロスプラットフォームなファイル・フォルダ操作って
標準ライブラリか、boostか、あるいは他にあります?
0741デフォルトの名無しさん
2015/08/16(日) 22:51:07.29ID:Dc+2ts/Nクロスプラットフォーム対応にしても実際はwindowsでしか動かさないんじゃないか?
0742デフォルトの名無しさん
2015/08/16(日) 22:53:23.80ID:mucOKkH4filesystem
…がc++17以降に入る予定…
0743デフォルトの名無しさん
2015/08/16(日) 22:54:28.42ID:AMMcDK29なんで?
>>742
今自分で実装してるけど、それしかないか
0744デフォルトの名無しさん
2015/08/16(日) 23:01:31.13ID:Dc+2ts/N>>>741
>なんで?
俺の場合。
0745デフォルトの名無しさん
2015/08/17(月) 01:19:03.88ID:oEljV4gsboost::filesystem
あと使いやすいとは思わなかったけどPOCOライブラリにも似たようなものがあった
0746デフォルトの名無しさん
2015/08/17(月) 02:07:56.87ID:EwR31uEAvisual studio で良ければ tr1 名前空間にfilesystem入ってるよ。
0747デフォルトの名無しさん
2015/08/17(月) 03:11:21.79ID:B8+eSc37OSによって設定の保存場所、一時ファイルの保存場所など、いろいろ違うわけですが、
そういうのも吸収することが出来ます。
0748デフォルトの名無しさん
2015/08/17(月) 04:47:46.68ID:QqxAFP9pそれクロスプラットフォームにならないしboost.filesystem v2ベースで入る予定のとちと違うからオススメしない
0749デフォルトの名無しさん
2015/08/17(月) 18:50:39.10ID:hmLPPIku0750デフォルトの名無しさん
2015/08/17(月) 20:33:12.10ID:EwR31uEAboost入れられるならboostでもいいと思うけど。
0751デフォルトの名無しさん
2015/08/18(火) 00:38:42.96ID:pejHXbhH0752デフォルトの名無しさん
2015/08/18(火) 16:36:17.65ID:yiwfDlnbどうしたらわかるようになりますか。
0753デフォルトの名無しさん
2015/08/18(火) 18:20:04.40ID:wa5ujMFC7章はEffective諦めて、エーブラバムのテンプレートのやつ読む
8章は理解する必要なし
0754デフォルトの名無しさん
2015/08/19(水) 00:28:20.99ID:RbJYGKEh0755デフォルトの名無しさん
2015/08/19(水) 11:35:47.88ID:Ed0MCdtXC++ではmallocじゃなくてnewでメモリを動的確保するって書いてあったのですが
構造体配列の動的確保で検索してもmallocを使う方法ばかり出てきて
newを使った方法は見つけられませんでした。mallocでも問題無いんですか?
vectorは全く分かりません。
0756デフォルトの名無しさん
2015/08/19(水) 11:41:53.16ID:1OgygsP2あと人間工学的にmallocとnewが混在してるとfreeかdeleteかわからなくなるため
newで統一しましょう
0757デフォルトの名無しさん
2015/08/19(水) 11:45:36.42ID:mLYOSkJZstringかvectorで確保が安定。
0758デフォルトの名無しさん
2015/08/19(水) 11:49:15.60ID:Ed0MCdtXC++の本1ページも読んだこと無いですが、なんとかvectorの使い方覚えてみます…。
0759デフォルトの名無しさん
2015/08/19(水) 12:13:48.67ID:Tpp3AqDYC++の入門書を二冊終えたんですけど、コマンドライン上のCUI以外のものってどうやって作るんでしょうか
アプリケーションを作るならVBが良いと勧められたのですが、C++ではコマンドライン上のプログラムしか作れないということですか?
0760デフォルトの名無しさん
2015/08/19(水) 12:16:37.62ID:1OgygsP2実践的には適当なC++のGUIライブラリを使う
0761デフォルトの名無しさん
2015/08/19(水) 12:35:21.66ID:Ed0MCdtXCしか知らないけど、「猫でも分かるWindowsプログラミング」って本読みながら
VisualStudioでWindowsアプリ作ってるけど、C++でもこんな感じじゃないのかな。
この本だとCの記述しか書いてないけど。
0762デフォルトの名無しさん
2015/08/19(水) 13:43:26.97ID:N/B9ROLw最低でも名前空間と
クラスとコンストラクタ/デストラクタと多態と
テンプレートの基礎を理解してからにしろ
あとなるべく例外処理も
0763デフォルトの名無しさん
2015/08/19(水) 13:44:13.92ID:N/B9ROLw0764デフォルトの名無しさん
2015/08/19(水) 16:07:55.34ID:Tpp3AqDYありがとうございます
OSが提供しているということはOSを製作している会社が出している仕様を確認すればよいのでしょうか?
>>761
ありがとうございます
Cもコマンドライン上での使い方は理解しているのですがアプリケーションが作れるということは初めて知りました
C++でもアプリケーションが作れてそういう本が出ているのでしょうか?
0765759
2015/08/19(水) 16:14:03.02ID:Tpp3AqDY例えばwindowsに最初から入っているソリティアをアプリケーションの例として想像しているんですけど、cinやcoutがああいうものになる感じはしないのでC++はそういうものが作れる言語ではないのかな?と疑問に思っています
0766デフォルトの名無しさん
2015/08/19(水) 16:24:39.98ID:zh/OeKTdguiをつくるやつみたいなのとかあるのよ
0767デフォルトの名無しさん
2015/08/19(水) 16:49:57.24ID:2K7U76I6GUIを作るためにはそのOS専用の関数(API)をインクルードして使う
例えばwindowsなら#include <windows.h>するとCreateWindow()が使える
C++に限らず、有名な一つ言語を学べばどんなアプリも作ることができるけど
適材適所という言葉があるように、簡単なGUIを作りたいときはVBやC#が便利だと思う
0768片山博文MZ ◆T6xkBnTXz7B0
2015/08/19(水) 17:18:27.05ID:A1hsfM0sお使いの方は必ず更新して下さい。
https://github.com/katahiromz/StringAssort
0769デフォルトの名無しさん
2015/08/19(水) 18:42:30.82ID:mkbXhhzN荒らしは去れ
0770デフォルトの名無しさん
2015/08/19(水) 20:33:55.03ID:Tpp3AqDY>>767
ありがとうございます
iostream以外のライブラリを使えばiostreamで定義したコマンドラインへの出力とは異なるグラフィカルな出力が可能ということですね
アプリケーションを作ること自体というよりはデジタルの知識を深めるのが目的なのでとりあえずC++で頑張ってみようと思います
0771デフォルトの名無しさん
2015/08/19(水) 21:03:59.14ID:N/B9ROLwスムーズにつながる
0772デフォルトの名無しさん
2015/08/19(水) 21:24:22.33ID:d+F9SOqyC++でも作れるんだけど、いろいろとめっちゃめんどい。
特別な理由がない限りオススメしないなー。
0773デフォルトの名無しさん
2015/08/19(水) 21:25:34.30ID:d+F9SOqy構造体格納用の配列代わりに使用する用途なら、その知識はいらないでしょ。。。
0774デフォルトの名無しさん
2015/08/19(水) 22:41:38.78ID:zYApVtu30775デフォルトの名無しさん
2015/08/20(木) 01:13:10.43ID:8uVFN1spstringもvectorも内部のメモリ管理がブラックボックスだから、
ちょっと怖い。
なんかいい方法ないのかな。
0776デフォルトの名無しさん
2015/08/20(木) 01:30:15.81ID:4YEicUslコード読めるのにブラックボックス?
0777デフォルトの名無しさん
2015/08/20(木) 01:50:17.05ID:0zSVnc38malloc() が裏で何やってるか全部分かってるわけでもないだろうに。何を心配しているのか。
0778デフォルトの名無しさん
2015/08/20(木) 04:33:04.53ID:+gOJo4Iumalloc が嫌なら
構造体配列 動的確保 -malloc
で検索すればいいだけだろ...
>>775
> stringもvectorも内部のメモリ管理がブラックボックスだから、
そう言うレベルの奴こそ string や vector を使うべき
お前さんより確実に C++ をよく知ってる奴等が作ってるんだから
0779デフォルトの名無しさん
2015/08/20(木) 04:38:38.81ID:oHxFq6mf0780デフォルトの名無しさん
2015/08/20(木) 08:42:12.67ID:cJrH9wyy0781『佳子様』の『秘密』を『暴露』
2015/08/20(木) 16:04:27.96ID:fLsNMaUNΣ(Д・;)"プチエンジェル事件"!(小学生売春事件)
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
プチエンジェル事件に隠された日本の闇を暴露する!
■実は、『女性皇族』の『男遊び』と、
女性皇族がおこなったハニートラップだった!!
■その『男遊び』と『トラップ』を誤魔化す為の、
『プチエンジェル事件』が真相だったのだ!!
■闇に包まれた真相を、私が『暴露』する!!
※知る覚悟はできていますか?
下記を『Google』か『Yahoo』で検索して下さい。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
検索⇒『佳子様 真子さま kare氏』
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
※上記で検索しますと、1ページ目の5番目以内に、
【懇約〕秋篠宮家の佳子様と・・・・・・・
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑が表示されます。
※世の中、知らない方が良い事もあるんです・・・。
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
http://matome.naver.jp/odai/2143960880970769001
.
0782デフォルトの名無しさん
2015/08/20(木) 16:25:08.00ID:PV11qe8Cchon運営ネイバー氏ね
0783デフォルトの名無しさん
2015/08/20(木) 18:19:51.83ID:XcRG7QGC指定されたアロケーターに従うだけ
ブラックボックスで言語仕様の不具合と指摘されているのが
new []式のメモリ確保
0784デフォルトの名無しさん
2015/08/20(木) 21:32:28.93ID:fQhwI7c5malloc
new
vector
のどれを使うんですか?
0785デフォルトの名無しさん
2015/08/20(木) 21:36:00.89ID:oHxFq6mf0786デフォルトの名無しさん
2015/08/20(木) 22:05:29.06ID:7/PYSFe/> 本物のプログラマーは
グローバル変数しか使わん
動的確保なんてガキが使うもんだ
0787デフォルトの名無しさん
2015/08/20(木) 22:14:22.62ID:q4vIrycP実行時までサイズが不定ということは、ないんだ
すべて分かってるから、すべて固定長で処理する
ファイルは1つだし、バックスペースキーは真っ白
0788デフォルトの名無しさん
2015/08/20(木) 23:29:45.60ID:6O+Kgyz240年前ぐらいに流行ったやつ?
0789デフォルトの名無しさん
2015/08/20(木) 23:47:58.09ID:eAPsaJbN0790デフォルトの名無しさん
2015/08/21(金) 00:02:17.00ID:9PM+ePh40791デフォルトの名無しさん
2015/08/21(金) 00:13:43.07ID:qjzhcGKV>>786渾身のギャグにつっこむのはやめろ!
0792デフォルトの名無しさん
2015/08/21(金) 00:24:04.11ID:mTBLNmRCなにそれこわい
0793デフォルトの名無しさん
2015/08/21(金) 01:30:15.07ID:bxb9HIziデバック用に operator new の実装に使ってるよ。
0794デフォルトの名無しさん
2015/08/21(金) 02:03:48.28ID:ewwJ+kN30795デフォルトの名無しさん
2015/08/21(金) 02:11:55.83ID:fj2TBOwfa1 = a2; // �A
�Aのようなポインタ演算で演算子オーバーロードができないかと思い
下記のようなプログラムを書いてみたのですが呼び出せませんでした。
左側がポインタの演算子オーバーロードは定義できないものなのでしょうか?
void A::operator=(A *a){
cout << "called." << endl;
}
0796デフォルトの名無しさん
2015/08/21(金) 02:15:43.83ID:f5f66q8p0797デフォルトの名無しさん
2015/08/21(金) 02:32:56.97ID:twatgs4l{
namespace Bar
{
namespace Baz
{
// なんちゃら
}
}
}
って感じのが多いんだけど、なんかスマートな記述方法ない?
0798デフォルトの名無しさん
2015/08/21(金) 04:25:39.48ID:02HHuEF9C++17から
namespace Foo::Bar::Baz
{
}
って書けるようになる予定だから待つしかない
0799デフォルトの名無しさん
2015/08/21(金) 06:15:36.39ID:+IcpCWtO{
class Bar
{
class Baz
{
// なんちゃら
};
};
};
上ととnamespaceで出来ることは変わらなくないですか?
0800デフォルトの名無しさん
2015/08/21(金) 07:10:19.74ID:RcluoQUw渾身は >>787 だろ
滑ってるけど
0801デフォルトの名無しさん
2015/08/21(金) 08:23:40.22ID:4Z8Mt89I0802デフォルトの名無しさん
2015/08/21(金) 08:26:11.08ID:E5L2ZBIK0803デフォルトの名無しさん
2015/08/21(金) 08:40:46.72ID:JFe3Ml2Ioperator new のデバッグじゃなくて、デバッグ目的でoperator newをオーバーロードするってことね。
まさに>>802の通り。
俺が自演したのかと思ったぜ。
0804デフォルトの名無しさん
2015/08/21(金) 09:20:54.88ID:BlDTYlt70805デフォルトの名無しさん
2015/08/21(金) 11:04:19.93ID:RwXqV5070806デフォルトの名無しさん
2015/08/21(金) 11:07:25.95ID:9PM+ePh40807デフォルトの名無しさん
2015/08/21(金) 11:27:46.72ID:02HHuEF90808デフォルトの名無しさん
2015/08/21(金) 21:00:17.09ID:ALerSfbeそしてそれらをインストールすることが許可されない環境とかある
0809デフォルトの名無しさん
2015/08/21(金) 21:30:57.28ID:sHjAdKxZ0810デフォルトの名無しさん
2015/08/21(金) 22:00:16.40ID:ALerSfbe0811デフォルトの名無しさん
2015/08/21(金) 23:11:21.65ID:efFDPChC開発効率も考えない糞な現場があるってことがどうかしたん?
0812デフォルトの名無しさん
2015/08/21(金) 23:15:54.47ID:XWi2OaDtWindowsアプリしか作ったことないの?
0813デフォルトの名無しさん
2015/08/21(金) 23:22:07.67ID:qqfWoXP/0814デフォルトの名無しさん
2015/08/21(金) 23:25:22.05ID:NEaqZUwT0815デフォルトの名無しさん
2015/08/21(金) 23:31:02.04ID:ENucIhJC0816デフォルトの名無しさん
2015/08/21(金) 23:34:13.00ID:WXHpGDQN0817デフォルトの名無しさん
2015/08/22(土) 00:15:33.08ID:OQgdhBkf0818デフォルトの名無しさん
2015/08/22(土) 04:59:47.99ID:50TgdakNA?A ̄A¨AaA°A£A?A≪A¨A¨AA£A?A£A£A?A|A£A?A?A£A?ARA£A?A?A£A?A?A£A?A?A£A?A?A£A?A?A£A?A?A£A?A?A£A?A?A
£A?AaA£AA? A£A?A≫A£A?A?A£A?A¨A£A?A?A£A?A?A£AA? a?≫a??a?¨a??a??a?
0819デフォルトの名無しさん
2015/08/22(土) 17:58:15.34ID:YIhcmBwwCRTPの使いどころがやっとわかったので
発表してもいいですか?
0820デフォルトの名無しさん
2015/08/22(土) 18:09:03.96ID:YIhcmBwwありがとうございました
0821デフォルトの名無しさん
2015/08/22(土) 18:55:46.35ID:YIhcmBwwパラメータを書かないといけないから糞長くなるな
かといって外側でエイリアス定義するとカプセル化が壊れるからな
0822デフォルトの名無しさん
2015/08/23(日) 00:13:56.66ID:cE4E7c5emax<int>::value == 0x7fffffff
max<short>::value == 0x7fff
みたいな
0823デフォルトの名無しさん
2015/08/23(日) 00:32:30.85ID:9aqT3FI6http://webkaru.net/clang/limits-header/
0824デフォルトの名無しさん
2015/08/23(日) 00:37:54.31ID:9aqT3FI6std::numeric_limits<int>::max()
すきなのどうぞ
0825デフォルトの名無しさん
2015/08/23(日) 10:27:25.76ID:6ms/2Czfこの比較って安全?
型不明のリテラルと比較するのが気持ち悪いんだけど
0826デフォルトの名無しさん
2015/08/23(日) 10:31:31.03ID:NrGPu3iT#include<utility>
using namespace std;
struct A{
int i;
int * a;
A():i{0}{}
A(A&& x) : i{x.i},a{x.a} {
x.a=nullptr;
cout<<"move"<<endl;
}
auto f(){
++i;
return move(*this);
}
};
int main() {
A a;
a.a=new int[1];
A b=a.f();
a.f();
return 0;
}
2回目のfがコンストラクトしてないのにムーブコンストラクタが呼ばれるのが納得できません
そうしたらポインターを消すことができなくなります
コピーした相手がポインターを消せるときだけムーブコンストラクターを呼びたいです
0827デフォルトの名無しさん
2015/08/23(日) 10:38:28.91ID:P//TMFNXmax()をリテラルと比較する必要性が見出せない
0828826
2015/08/23(日) 10:41:25.48ID:NrGPu3iTint * aがnullptrになってしまうことが問題でした
0829デフォルトの名無しさん
2015/08/23(日) 10:45:45.52ID:JQjk+2hP自分でクリアしておいてわがままな奴だな
参照でも返すようにしとけ
0830デフォルトの名無しさん
2015/08/23(日) 10:54:22.51ID:Nt/W7ZYs突っ込みどころが多すぎる
0831デフォルトの名無しさん
2015/08/23(日) 10:56:41.91ID:pq0DEhMn0832デフォルトの名無しさん
2015/08/23(日) 12:00:41.35ID:rz9Nyde6例としてだしただけなので必要性は関係ないです
そんなこともわからないんですか
0833デフォルトの名無しさん
2015/08/23(日) 12:30:02.22ID:P//TMFNX問題はconstexprとリテラルを比較する意味だ
0834デフォルトの名無しさん
2015/08/23(日) 12:36:34.24ID:rz9Nyde6なんで同じ事言わないといけないんですか。
例に出したコードに意味はないです
この値が返るのを望んでいるという事をわかりやすく書いただけで
得られる動作に意味なんてないです。脳味噌ないんですか
0835デフォルトの名無しさん
2015/08/23(日) 15:39:24.02ID:dERNPP1W脳みそがないのはそっちの方です
0836デフォルトの名無しさん
2015/08/23(日) 15:53:08.92ID:Rmxdvxkyif (sizeof(int) >= 4)
みたいなコードも意味がないとか言っちゃうわけ?
0837デフォルトの名無しさん
2015/08/23(日) 16:04:24.53ID:rz9Nyde6少しは脳味噌を使ったらどうですか
そうやって意味をつけたコードと
説明の為の無意味な一例を比較する馬鹿いますか
0838デフォルトの名無しさん
2015/08/23(日) 17:31:13.82ID:wtabsgY2まあ落ち着け
意味が無いとか言い張り出したお前の脳みそが沸騰してるだけだから
0839デフォルトの名無しさん
2015/08/23(日) 19:02:24.77ID:2+jwKIuc0840デフォルトの名無しさん
2015/08/23(日) 19:47:17.40ID:jdIAA1rP・constexprとリテラルの比較にも意味はある派
・説明のためのコードに意味を求めんな派
今日もキチガイ共が湧いてるな
0841デフォルトの名無しさん
2015/08/23(日) 20:39:02.23ID:npr8vrNT【ところが、仮想関数が全くないクラスでも、「仮想でないデストラクタ」で問題が起こることがあります。】
という一文があるのですが、どうにも理解するのが難しく
下記のように読み替えると正しい意味になるのかな、と予想しました。
【つまり、仮想関数が全くないクラスでは、「仮想でないデストラクタ」で問題が起こるのです。】
問題ないでしょうか。
間違っていたらすみません。
0842デフォルトの名無しさん
2015/08/23(日) 20:45:37.46ID:RkLv6vuw何故ならば、仮想関数が全くないクラスで、「仮想でないデストラクタ」で問題が起きない場合もある
0843デフォルトの名無しさん
2015/08/23(日) 21:09:29.71ID:wtabsgY2・constexprとリテラルの比較にも意味はある
の何がおかしいのか言ってみろ
ひたすら上から目線の総括キチガイ君
0844デフォルトの名無しさん
2015/08/23(日) 21:56:20.61ID:M8PQmWuI頭がフットーしそうだよ
0845デフォルトの名無しさん
2015/08/23(日) 21:56:28.07ID:wDslJmRu>【仮想関数を含むクラスでは、「仮想でないデストラクタ」で問題が起こることがあります。】 ・・・(1)
という言明でも無いと、>>841の
>【ところが、仮想関数が全くないクラスでも、「仮想でないデストラクタ」で問題が起こることがあります。】 ・・・(2)
という文((1)の裏が真ならずということを強調する文)につながらないと思うんだけども、
(1)で言う「問題」ってなんじゃ…?
それとも原文には(1)ではないもっと異様なことが書いてあるのか…
0846845
2015/08/23(日) 22:06:08.53ID:wDslJmRu(1)はポリモーフィズムやったとき基底クラスの仮想でないデストラクタが呼ばれないことなんでワカル
(2)がわからん…
仮想でない、仮想関数が全く無いクラスを継承したクラスでおもむろにポリモーフィズムしようとした場合に
基底クラスの仮想でないデストラクタが呼ばれない問題のこと?
0847デフォルトの名無しさん
2015/08/23(日) 22:06:23.69ID:MaJZaRGO要するに仮想デストラクタが宣言されていないクラスAを継承したクラスを書いたりすると、
クラスAが完全な具象クラスだったとしても未定義な動作を引き起こすよという話
まとめると継承されることを期待してるかクラスなのかどうかはデストラクタがvirtualかどうかで判断しましょう
逆に言うとあなたの書いたクラスも同じ基準で判断されるから気をつけるのよ
って感じの項だった記憶
出先なので見当違いだったらすまん
0848デフォルトの名無しさん
2015/08/23(日) 22:16:31.85ID:ZKG2IY6j→そういうスタイルを推奨するのはわかる
「あなたの書いたクラスも同じ基準で判断されるから気をつけるのよ」
→お前の脳内ルールを押しつけるな低能
結論:スコットメイヤーの糞本は読んではいけない
0849デフォルトの名無しさん
2015/08/23(日) 22:17:41.15ID:RkLv6vuw0850841
2015/08/23(日) 22:32:26.99ID:npr8vrNT▼引用ここから
結論を言うと、「理由もなくすべてのデストラクタを仮想にするのは、
すべてのデストラクタを非仮想にするのと同様に誤り」ということです。
そこで、多くの人は、次のように言います:クラスが仮想関数を保つ場合、デストラクタを仮想にせよ、と。
ところが、仮想関数が全くないクラスでも、「仮想でないデストラクタ」で問題が起こることがあります。
たとえば、標準のstringは仮想関数を持っていません。
しかし、よく理解していないプログラマが、stringを基底クラスに使うことがあるかもしれません。
▲ここまで
一見自然な文章に見えるのですが、【ところが】というところが不自然な感じがして
【つまり】に変えて読んでみたら意味が通るような気がしたのですが
正しく内容を理解できているのか不安になったので
0851デフォルトの名無しさん
2015/08/23(日) 22:38:33.53ID:npr8vrNT0852デフォルトの名無しさん
2015/08/23(日) 22:39:33.02ID:F9/N0IWT0853デフォルトの名無しさん
2015/08/23(日) 22:40:35.65ID:RkLv6vuwつまりにすると意味がとぶ
0854デフォルトの名無しさん
2015/08/23(日) 22:44:12.82ID:HkRU0Alf『クラスが仮想関数を保つ場合、デストラクタを仮想にせよ』
→デストラクターを仮想にするかはクラスが仮想関数を持つかで判断せよ
→そのルールに従うと、仮想関数を持たないクラスはデストラクターを仮想にしないことになる
どう考えても自然な繋がりなのだが
0855デフォルトの名無しさん
2015/08/23(日) 23:58:58.30ID:JQjk+2hPそんな規格を無視したうんこコンパイラーは早く捨てた方がいい
0856デフォルトの名無しさん
2015/08/24(月) 04:57:30.96ID:IoI82vF0効率厨だから
うまいこと勝手にやってくれるのがお好みならそういう言語使えばいい
0857デフォルトの名無しさん
2015/08/24(月) 11:50:51.90ID:1RhzDVi9自動的に上手い事やってもらっても請求書は回ってくるんだよ
お値段を確認しない殿様商売のための言語ではないってこと
0858デフォルトの名無しさん
2015/08/24(月) 12:03:10.29ID:v68vlkfs「ポリモーフィズムやったとき」だの「おもむろにポリモーフィズムしようとした場合」だの、感覚的で不明瞭な議論はよろしくない。
0859デフォルトの名無しさん
2015/08/24(月) 15:40:34.39ID:1RhzDVi9void try_delete(T* ptr)
{
if(std::has_virtual_destructor<T>::value) delete ptr;
else throw std::logic_error((__FILE__ + std::to_string(__LINE__) + typeid(T).name()).c_str());
}
0860デフォルトの名無しさん
2015/08/24(月) 15:48:56.90ID:Z3r2pcb6車検の時自分で手続きをすれば車検屋に代行させる時より安くできます
しかし、いちいち手続きに行くのは手間がかかります
この言語を使うのに適した人はこの手間を惜しまない人です
なお、それによりいかなるトラブルや実質的な無駄が生じたとしても
一切の責任は自分にありますのであしからず
0861デフォルトの名無しさん
2015/08/24(月) 20:32:14.69ID:I3jEHQOytype<float>::value_type hoge = 0xffffffff;
type<double>::value_type hoge = 0xffffffffffffffff;
みたいな
0862デフォルトの名無しさん
2015/08/24(月) 21:02:39.87ID:XuY4b73wsignedとunsignedがあるわけだが
0863デフォルトの名無しさん
2015/08/24(月) 22:16:11.35ID:JrXODGxo0864デフォルトの名無しさん
2015/08/24(月) 22:21:11.78ID:tqErFzDo浮動小数点は全て符号付きだね
浮動小数点を符号なしに写像する必要性でも普遍的な問題としてあるならともかく
0865デフォルトの名無しさん
2015/08/24(月) 22:32:06.62ID:Ix1J5gUnやっつけで作った
http://ideone.com/PZAcuP
0866デフォルトの名無しさん
2015/08/24(月) 22:46:10.23ID:JrXODGxo教科書の共用体の説明のコードなんだが、
このコードが何をしているのか
共用体の存在意義
の二つがわからなくて先に進めないから教えて欲しいです・・・
0867デフォルトの名無しさん
2015/08/24(月) 22:50:06.05ID:00lt0PIh浮動小数点と同じサイズの整数型を取得したいと言ってる時に
浮動小数点での値を変換後の整数型でも維持すると思っちゃうほどお前はあほなの?
0868デフォルトの名無しさん
2015/08/24(月) 22:52:45.16ID:I3jEHQOyなんとなく方向性は見えました
0869デフォルトの名無しさん
2015/08/24(月) 23:01:51.71ID:OjRQ25eS共用体は、メンバ同士が文字通り、同じメモリ領域を共用する
>このコードが何をしているのか
doubleで初期化した値を、unsigned charで読み取って、ビット列を表示しているだけ
キャストしても同じことができる
auto p = (unsigned char *)&d;
p[i];
これと同じことを共用体のテクニックでやってるだけ
>共用体の存在意義
おおよそ、構造体内に排他的なメンバが有る場合に、メモリをケチりつつ、キャストを避ける場合に、使われることが多い
0870デフォルトの名無しさん
2015/08/24(月) 23:41:27.97ID:XuY4b73wtype<T>::value_type を何らかのテクニックを使って導出しようにも、
たとえばtype<float>::value_type を int にすべきかunsigned int にすべきか
一意に決められないけどどう考えるの?
っていう意味だ。
0871デフォルトの名無しさん
2015/08/24(月) 23:57:58.01ID:OjRQ25eS一体何をしたいのか興味が有るよね
floatをintに突っ込んでも、比較演算ぐらいしか出来んし
まー突っ込むかどうかは知らんが
0872デフォルトの名無しさん
2015/08/25(火) 02:39:07.09ID:78QHcoVOありがとうございます
わかりました
共用体は同じメモリを共用するため、double値で読み取った値がchar値でも表示・使用可能
という解釈でよろしいでしょうか?
0873デフォルトの名無しさん
2015/08/25(火) 10:18:24.68ID:deVB+W3l自分は使わないけど
0874デフォルトの名無しさん
2015/08/25(火) 10:29:17.74ID:6WPRpMK4XウィンドウシステムだとXEvent共用体使って互いのやり取りしているし。
0875デフォルトの名無しさん
2015/08/25(火) 12:58:52.53ID:VbhGZ0/9hoge厨は消えろよ
お前知能障害だろ
0876デフォルトの名無しさん
2015/08/25(火) 13:46:34.03ID:JhzK86b20877デフォルトの名無しさん
2015/08/25(火) 15:20:44.98ID:qN0CS00N写像で通じないあほさんは何が言いたいんだい?
>>870
どっちでもよくね?
make_signedとmake_unsignedでどうにでもなるやん
0878デフォルトの名無しさん
2015/08/25(火) 16:53:47.14ID:bwlYR2I50879デフォルトの名無しさん
2015/08/25(火) 18:30:57.92ID:qN0CS00Nなんでdelete this;したんだろw
0880デフォルトの名無しさん
2015/08/25(火) 20:50:05.91ID:XTyF6ymzusing namespace std;
template<typename T>
struct A{
template<char c>
static void a(){};
};
template<typename T>
template<>
inline void A<T>:: a<'a'>(){}
int main() {
A<int>::a<'a'>();
return 0;
}
お願いします
エラーが直りません
0881デフォルトの名無しさん
2015/08/25(火) 20:53:15.30ID:XTyF6ymzありがとうございました
0882デフォルトの名無しさん
2015/08/25(火) 21:08:49.04ID:fH+tecmUそりゃどっちでもいいけど、intとlongが同じサイズでも一意になるようにって考えると面倒そうだ。
0883デフォルトの名無しさん
2015/08/25(火) 21:09:35.25ID:fH+tecmU0884デフォルトの名無しさん
2015/08/25(火) 21:20:05.41ID:jNMAhtm9写像を考えるならそれこそ、浮動小数点型が符号ありだから整数型も符号つきに、と
決まるもんじゃないと思うが。
0885デフォルトの名無しさん
2015/08/25(火) 21:25:51.36ID:6dsqbHXEお、おう
0886デフォルトの名無しさん
2015/08/25(火) 21:26:09.66ID:HUvc3tRoいや直らなねーだろそれ
どうやったんだ?
0887デフォルトの名無しさん
2015/08/25(火) 21:26:19.55ID:dXA4WVNaどういたしまして
0888デフォルトの名無しさん
2015/08/25(火) 22:32:30.49ID:x/KQ4zM5template<>
inline void A<int>:: a<'a'>(){}
直りました
ありがとうございました
0889デフォルトの名無しさん
2015/08/25(火) 22:54:03.10ID:HUvc3tRoそれだとA<long>::a<'a'>が特殊化されないままだぞ
まあ不満が無いならいいけど
0890デフォルトの名無しさん
2015/08/26(水) 18:15:46.41ID:T7byp7v6ガリガリ書いてれば詳しくなれるのか、専門書読み漁ってるのか・・・
スレチだったらすまん
0891デフォルトの名無しさん
2015/08/26(水) 18:40:48.46ID:XR0u/yGZそれ以外に方法は無い
0892デフォルトの名無しさん
2015/08/26(水) 19:01:49.43ID:xtEnIajl正しい言語知識は身に付きますが、あまり役には立ちません
0893デフォルトの名無しさん
2015/08/26(水) 19:03:25.25ID:+CCB3yUl0894デフォルトの名無しさん
2015/08/26(水) 19:03:54.52ID:41WE1uen2.サンプルサイトを片っ端から理解するまで試す
3.市販の簡単なソフトを真似て作る
4.古いオープンソースの脆弱性を探す
独学ならこんなんで良いんじゃない?
0895デフォルトの名無しさん
2015/08/26(水) 19:07:19.95ID:41WE1uen0896デフォルトの名無しさん
2015/08/26(水) 19:37:56.60ID:8NpsUOmaほしいアプリやツールなど、とにかく自分が使いたいものが良いかな。
実現する為にggりまくる、本を探す。
コピペでも汚くてもいいから作り切る。
作る過程でわからない事や問題が起こるので、その時は本気でとことん勉強する。
最初はこんな感じ。
慣れてくると、より良い方法や便利な機能を模索する事にシフトしていく感じかなー。
0897デフォルトの名無しさん
2015/08/26(水) 20:10:05.30ID:B+gFkObw0898デフォルトの名無しさん
2015/08/26(水) 21:21:24.32ID:fdBJ5NPL0899デフォルトの名無しさん
2015/08/27(木) 09:00:39.94ID:MQwOwGL70900デフォルトの名無しさん
2015/08/27(木) 12:13:03.20ID:dowPTGl50901デフォルトの名無しさん
2015/08/27(木) 13:11:45.12ID:R1PXfvA40902デフォルトの名無しさん
2015/08/27(木) 14:05:04.45ID:oVACUZkQただの趣味や自己研鑽でやるのは自分には荷が重すぎたw
0903デフォルトの名無しさん
2015/08/27(木) 21:01:28.37ID:PWCfSW2r逆に別にやらなくてもいいならやる人は少ない 人間そんなもん
0904デフォルトの名無しさん
2015/08/27(木) 21:23:58.32ID:dowPTGl50905デフォルトの名無しさん
2015/08/27(木) 21:56:14.29ID:oVACUZkQまぁね
今では嬉々としてc++本を買い漁ってるから、機会をくれた仕事に感謝だわ
最初の山場を超えれば世界が開けて楽しくなるんだけど、そこに行くまでがね
0906デフォルトの名無しさん
2015/08/27(木) 22:25:05.87ID:/f0HtdnV世界が開けるって何?
0907デフォルトの名無しさん
2015/08/27(木) 22:29:59.58ID:58eRNtwY0908デフォルトの名無しさん
2015/08/27(木) 22:35:38.99ID:/F/l5AUeそれC知ってれはすぐ解るよね
0909デフォルトの名無しさん
2015/08/27(木) 22:41:22.29ID:dowPTGl5そのクラスの設計と実装の形と流れが見えた時みたいな。
あまり難しい事やろうとするとハゲるので気を付けてます。
ん 脳がウニになるんだっけ?
0910デフォルトの名無しさん
2015/08/27(木) 22:42:33.50ID:syh25Qiw0911デフォルトの名無しさん
2015/08/27(木) 22:43:54.41ID:1aXFvZlX0912デフォルトの名無しさん
2015/08/27(木) 22:50:15.71ID:Tu/gvc/80913デフォルトの名無しさん
2015/08/27(木) 23:08:58.91ID:AjywBnNdといってもswiftをグルーコードにして、インターフェース部分をobjective c++で書いているんですが。
正直何がなんだか分からない状態で使っています。
XCTTestが使えるので検証コード書きながらやってるんですが、
どうせなら純粋なc++コードにして他の環境でも使えるようにしたいと
欲が出て来ました。
swiftとかobjective-cとの差分みたいな形でc++の最新仕様がわかる資料ってありませんか?
0914デフォルトの名無しさん
2015/08/27(木) 23:46:06.44ID:oqQcnINPJavaはC++よりも安全でクロスプラットフォーム。
以上の論点からJavaを選ばないでC++を選んだ地点で敗北決定。それではさよーなら。
0915デフォルトの名無しさん
2015/08/28(金) 00:02:12.62ID:mMYa0hvl0916デフォルトの名無しさん
2015/08/28(金) 00:34:25.90ID:63U9kYe8一行目の論理がおかしくないか
0917デフォルトの名無しさん
2015/08/28(金) 01:10:52.80ID:A+JHoXIT0918デフォルトの名無しさん
2015/08/28(金) 01:12:21.97ID:wpTXwtIN0919デフォルトの名無しさん
2015/08/28(金) 01:22:19.92ID:a+CTalcE0920デフォルトの名無しさん
2015/08/28(金) 02:08:15.73ID:HduK2qso0921デフォルトの名無しさん
2015/08/28(金) 02:25:28.96ID:pUxJGj7r0922デフォルトの名無しさん
2015/08/28(金) 03:12:59.90ID:P24Er3Kn0923デフォルトの名無しさん
2015/08/28(金) 03:38:13.03ID:uCcB2afg性能が落ちないギリギリの線で無理やりメタプログラミングなどの機能を追加していってるとおもうんだが。
Javaとか動的言語とか比較的新規の言語のほうが向いてるはず。こんなのあったけど。
[Groovy、Grails]メタプログラミング - Qiita
http://qiita.com/saba1024/items/531c620e1462a4a3b344
私がScalaを選んだ理由 (1/4):CodeZine(コードジン)
http://codezine.jp/article/detail/2464
0924デフォルトの名無しさん
2015/08/28(金) 09:15:53.36ID:63U9kYe8実行速度はどうなの?
0925デフォルトの名無しさん
2015/08/28(金) 17:01:56.30ID:ODiyhaIZ0926デフォルトの名無しさん
2015/08/28(金) 18:43:43.73ID:WxHFBL7U0927デフォルトの名無しさん
2015/08/28(金) 21:44:19.71ID:0sa/SPkb正直少しはあるな
0928デフォルトの名無しさん
2015/08/28(金) 22:11:56.96ID:k07is2fOむしろC#の方が難しい、というか、なんか煩雑に感じるぐらい
俺的にC++使う理由は、やっぱ
ネーティブコードが吐けて、インラインアセンブラでSSEとか使えて、
C/C++用ライブラリが一杯有る、ところかなぁ
ネイティブコードが吐ける言語は、実質C/C++がデファクトなんで、
ハブられる心配が無いというか、
どんなライブラリでも、大体公式にC/C++用が用意してあるんで、
移植する必要が無いし、安心
0929デフォルトの名無しさん
2015/08/28(金) 22:29:20.31ID:63U9kYe8修正とマングリは必要だけど、Cソースをg++でコンパイルすればそのまま使えるしね。
0930デフォルトの名無しさん
2015/08/28(金) 22:32:03.03ID:ipR9oyH6C#はどちらかというとCよりもJavaに近いだろ
0931デフォルトの名無しさん
2015/08/28(金) 22:36:36.86ID:xCExyn/Vインフラ屋さんがc++つかうのん?
俺の知ってるインフラ屋さんと違う
0932デフォルトの名無しさん
2015/08/28(金) 22:51:01.27ID:tV50qkIqなんかjavaを使ったもののほうが多いって感じだが
0933デフォルトの名無しさん
2015/08/28(金) 22:53:14.52ID:8YxskuwN0934デフォルトの名無しさん
2015/08/28(金) 22:53:24.73ID:pUxJGj7rwchar_t
wstring
L"文字列"
MessageBoxW()などW関数
を使うのか?
0935デフォルトの名無しさん
2015/08/28(金) 22:55:11.41ID:bBNOiFa3せいぜいWordPressを設置したりだよね。
0936デフォルトの名無しさん
2015/08/29(土) 00:14:12.12ID:vFUHBOp8シェルスクリプトぐらい組むでしょ
0937デフォルトの名無しさん
2015/08/29(土) 00:30:56.15ID:3TP8HIZhソースコードを書いている人が、
読みやすく書いているとは限らないから、
基本的にソースコードは読めないもの
誰でも言っていることだが、
ソースコードを書くよりも、読む方が数倍難しい
だから仕様書で、図解して議論する。
仕様書で議論しないと、膨大な時間をムダにする
A(){
aa(){}
}
B()
C()
また読むときは、A,B,Cの説明を読むだけで、
aa()のような中を追いかけては見ない
これをブラックボックステストと言って、中を見ない。
入出力さえあっていればよろしい
入出力が間違っていれば、そこで初めてaa()の中を見る。
このように、エラーが無い場合には、
中を見ない・追いかけない。つまり飛ばす
0938937
2015/08/29(土) 00:34:42.00ID:3TP8HIZh誤爆
0939デフォルトの名無しさん
2015/08/29(土) 00:36:04.15ID:haT66cVy> ソースコードを書いている人が、
> 読みやすく書いているとは限らないから、
> 基本的にソースコードは読めないもの
それってコードに問題がある場合
どうするの? 脆弱性があっても
読めないんでしょう?
0940デフォルトの名無しさん
2015/08/29(土) 00:45:20.64ID:T5cLaa3h0941デフォルトの名無しさん
2015/08/29(土) 00:47:56.90ID:haT66cVy0942デフォルトの名無しさん
2015/08/29(土) 00:53:16.47ID:1aUf6etT今はほぼ趣味でやってるけど、そういうの知れたらやる気が高まります
0943デフォルトの名無しさん
2015/08/29(土) 00:57:10.98ID:g5UyIGYzほぼCかC++かアセンブリで出来ています
0944デフォルトの名無しさん
2015/08/29(土) 00:57:39.17ID:nNggqP3N0945デフォルトの名無しさん
2015/08/29(土) 01:27:14.84ID:Rh77Dwzm0946デフォルトの名無しさん
2015/08/29(土) 01:36:22.28ID:NAM/3beS日本だとやっぱりコンソールゲーム作ってる人がc/c++を使っているイメージ
最近死んだ任天堂の社長とかはc/c++使ってたのかな
0947デフォルトの名無しさん
2015/08/29(土) 02:29:51.93ID:1aUf6etTOSってC++でこってこてなテンプレートメタプログラミングを駆使したりはしないですよね?
やはりゲームなのかな
0948デフォルトの名無しさん
2015/08/29(土) 02:34:03.64ID:g5UyIGYzWindowsには沢山のC++コードが含まれている、たぶん、COMとかも
0949デフォルトの名無しさん
2015/08/29(土) 03:21:26.19ID:zEqMSaU0テンプレートを駆使しなければできなかったものなんて存在しない
0950デフォルトの名無しさん
2015/08/29(土) 08:35:02.00ID:NAM/3beSGoはメタプログラミングに弱いから作ってもツール止まりで中規模以上のコードが書きたくない。
0951デフォルトの名無しさん
2015/08/29(土) 11:54:40.37ID:nNggqP3N0952デフォルトの名無しさん
2015/08/29(土) 12:51:19.50ID:HLdP7G1m0953デフォルトの名無しさん
2015/08/29(土) 20:53:02.11ID:KZHxi9qE0954デフォルトの名無しさん
2015/08/30(日) 21:47:02.43ID:nQZgpkK3public:
static RESOURCE_IMAGE* GetResource(int resourceNumber);
static void Release(int resourceNumber);
static void ReleaseAll(void);
private:
CResourceImageManager() {};
static std::map<int, RESOURCE_IMAGE*> m_resources;
};
画像のリソースを管理するクラスを作ろうと思って上記のようにしました
このクラスはリソースのポインタに番号を付けて所有していますが
リソースの確保と開放は別のクラスに分けて行った方が良いでしょうか?
0955デフォルトの名無しさん
2015/08/30(日) 21:58:05.64ID:cH+1CeIL0956デフォルトの名無しさん
2015/08/30(日) 22:01:47.18ID:Pa3SXzfv質問と関係ないけどなんでintなん?整数にしたら何か良いことあんの?
0957デフォルトの名無しさん
2015/08/30(日) 22:10:21.13ID:P+7GNFUS0958デフォルトの名無しさん
2015/08/30(日) 22:30:14.32ID:Pa3SXzfvリソースはファイルから読み込むだろ?ファイル名は文字列だろ?
ファイルに対してユニークになるよう整数を割り当ててまでintにする意味は?
0959デフォルトの名無しさん
2015/08/30(日) 22:33:37.96ID:U1akemkg0960NAS6 ◆n3AmnVhjwc
2015/08/30(日) 23:01:15.78ID:AMlzbaWOCResourceImageManager() {};
↑のほうが違和感、これ、コンストラクタどう呼ばれるん?
0961NAS6 ◆n3AmnVhjwc
2015/08/30(日) 23:06:09.45ID:AMlzbaWOでfatal error吐かないとそのコンパイラは使えないよ
0962デフォルトの名無しさん
2015/08/30(日) 23:11:58.65ID:qwg10Zcl端からインスタンス作るつもりないだろ。これ
0963デフォルトの名無しさん
2015/08/30(日) 23:16:43.90ID:9cBHMzmD整数の方が文字列より比較が早いんじゃね
0964NAS6 ◆n3AmnVhjwc
2015/08/30(日) 23:17:49.92ID:AMlzbaWOシングルトンとか、忘れたなぁ
結局、つまり静的に1個、持たせるんじゃなかったっけ?
おひとり様プログラムには要らないものだった気がする
0965NAS6 ◆n3AmnVhjwc
2015/08/30(日) 23:21:30.07ID:AMlzbaWOものすごく無駄なオーバースペックでゲンナリしたんだよ
0966デフォルトの名無しさん
2015/08/30(日) 23:27:03.91ID:eLi9SMSdCResourceImageManager() = delete;
でもないんだよね、これ。
そんくらい嫁って気持ちは俺も同感だが、
なぜあえて? という一抹の疑問が残る。
0967NAS6 ◆n3AmnVhjwc
2015/08/30(日) 23:40:28.88ID:AMlzbaWOで大体、十分で、シングルトンまで使う必要がないんだよね
そこまでやってるとミカン星人になっちゃう
0968デフォルトの名無しさん
2015/08/30(日) 23:47:49.92ID:3qQgE1+2既存のスマートポインタで使えるように、特に理由が無い限りはふつうに delete できるようにしといてほしい。
0969デフォルトの名無しさん
2015/08/30(日) 23:57:36.66ID:5WlSK8Ue>>960
ていうか>>954のは見えてる限り全メソッドstaticなので、
実はCResourceImageManager::Release(i)みたいな呼び出し方しかしない
(インスタンス非生成)なつもりだったりして…
0970NAS6 ◆n3AmnVhjwc
2015/08/31(月) 00:45:55.59ID:zbEcK4vVおらが作ったコンテナポインタとツリーコレクション
コンテナポインタを試しにCLIにしてみたけど
演算子オーバーロードが使いにくくなるし
ジェネリックはアドレス演算子ができないからなー
どうしようかと普通の関数にしたらショボーン
0971NAS6 ◆n3AmnVhjwc
2015/08/31(月) 00:50:36.90ID:zbEcK4vV0972NAS6 ◆n3AmnVhjwc
2015/08/31(月) 01:09:10.32ID:zbEcK4vV複数作ったら1個しか破棄されてないな
むー
0973NAS6 ◆n3AmnVhjwc
2015/08/31(月) 01:20:22.49ID:zbEcK4vV0974デフォルトの名無しさん
2015/08/31(月) 01:21:59.60ID:5EC/KDqwにすると例外吐かないんですよね?
例外吐かないって実際どういうことなんですか?
関数内でthrowを使っているAPIを呼び出しても自動でcatchするってことですか?
0975デフォルトの名無しさん
2015/08/31(月) 01:22:04.44ID:4zTsoFnu0976NAS6 ◆n3AmnVhjwc
2015/08/31(月) 02:43:57.87ID:zbEcK4vVその場合で、>>972で失敗したけど、
複数オブジェクトの時、1個のみで1個に1回じゃない
それだけじゃあ、単純過ぎるセマフォだけどね
0977NAS6 ◆n3AmnVhjwc
2015/08/31(月) 02:47:11.82ID:zbEcK4vV0978NAS6 ◆n3AmnVhjwc
2015/08/31(月) 02:57:50.88ID:zbEcK4vVttp://nas6.main.jp/NAS6_tree_clct.h
のvirtual bool isDestructing();で一応できたんだけど
マルチスレッドとかになるとtmpファイル作って
お互いに参照しあいじゃないとダメかな
0979NAS6 ◆n3AmnVhjwc
2015/08/31(月) 03:20:31.93ID:zbEcK4vVofstream fout;
fout.open(fname.c_str(),ios::out|ios::trunc);
if(!fout) return;
fout<<1;
fout.close();
}
void unlock(string fname){
ofstream fout;
fout.open(fname.c_str(),ios::out|ios::trunc);
if(!fout) return;
fout<<0;
fout.close();
}
bool islock(string fname){
char ch;
ifstream fin;
fin.open(fname.c_str(),ios::in);
if(!fin) return false;
fin.get(ch);
fin.close();
return ch;
}
マルチスレッドの場合こんな感じで良かったっけな・・・
0980NAS6 ◆n3AmnVhjwc
2015/08/31(月) 03:39:06.54ID:zbEcK4vV0981デフォルトの名無しさん
2015/08/31(月) 05:13:34.46ID:aG7+P1+Othrowがその関数外に出そうになったときに自動でstd::unexpectedが呼ばれます。
デフォルトの挙動では
std::unexpected
std::terminate
std::abort
と呼ばれるのでプログラムはそこで終了します
0982デフォルトの名無しさん
2015/08/31(月) 08:16:24.52ID:SWBaMMdR例外を止める機能じゃないよ
例外は吐きませんって言う意思表明
0983デフォルトの名無しさん
2015/08/31(月) 08:21:40.49ID:y4ZEqKRh例外がスローされうるのかを聞いている。
日本語も読めない低能は去れ。
0984デフォルトの名無しさん
2015/08/31(月) 08:21:47.23ID:UOSubx+k0985デフォルトの名無しさん
2015/08/31(月) 09:36:51.17ID:dlg5gx9C0986デフォルトの名無しさん
2015/08/31(月) 11:12:53.08ID:4UR705Ml>static std::map<int, RESOURCE_IMAGE*> m_resources;
整数値なのにmapにする意味は何ですか?
vectorではダメなんですか?
割り当てる整数値が、無茶苦茶大きくなる事があって、メモリ効率が悪いってことですか?
でも、はじめから、そんな大きな整数値を、割り当てないようにすれば良いだけでは?
それとも、ポインタを整数値にキャストしたものを、値として使っているってことですか?
それなら始めからポインタを使えばよいのでは?
0987デフォルトの名無しさん
2015/08/31(月) 11:31:07.85ID:uuYY3mX10988デフォルトの名無しさん
2015/08/31(月) 11:40:13.09ID:4UR705Mlそれでなんでmapにする必要があるんですか?
0989デフォルトの名無しさん
2015/08/31(月) 11:51:16.53ID:jP9ITZzN0990デフォルトの名無しさん
2015/08/31(月) 11:56:51.24ID:uuYY3mX1歯抜けを解消するには確保する前に空場所を探す手間を入れる必要が出てくる
で、なんやかんやあるから、だったら最初からmapでいい
0991デフォルトの名無しさん
2015/08/31(月) 12:00:24.33ID:LIRnTqikmapではダメなんですか?
割り当てる領域が、大量アクセスされる事があって、実行効率が悪いってことですか?
でも、はじめから、そんな頻度のアクセスを、行わないようにすれば良いだけでは?
それとも、割り当てたものを、開放しないってことですか?
それなら始めから定数値を使えばよいのでは?
0992デフォルトの名無しさん
2015/08/31(月) 12:06:22.68ID:4UR705Mlべつに、したらいいじゃないですか
手間が、実行時間の意味でしたら、フリーリストを用意すればよいですし、
そこのコストがあったとしても、配列の方が数値→ポインタの変換が速いのは明白ですし
手間が、コーディングの意味でしたら、そもそも、整数値に置き換えずポインタでいいですし
0993デフォルトの名無しさん
2015/08/31(月) 12:20:08.13ID:bNeWtd/x0994デフォルトの名無しさん
2015/08/31(月) 12:47:49.24ID:LIRnTqik1. ポインタの取得なので速度に拘る意味が全くない
2. 整数IDを自分が好きに設定できるとは限らない
3. 自分で管理する際のコードの複雑化、コスト、バグを考えていない
スパゲッティを作るのは調理場だけにしておけ
0995デフォルトの名無しさん
2015/08/31(月) 13:03:45.70ID:4UR705Ml>2. 整数IDを自分が好きに設定できるとは限らない
これが意味わからないですね
他人がIDを設定して、自分でIDを好きに設定できない状況なら、
他人がID→ポインタの変換を実装すべきで、
自分でID→ポインタのマップを持つ意味は?
通常、ID→ポインタの変換テーブルを持っている人が、
IDを割り振るのでは?
0996デフォルトの名無しさん
2015/08/31(月) 13:04:55.71ID:4UR705Mlこれも良く分からないですね
0997デフォルトの名無しさん
2015/08/31(月) 13:05:10.05ID:IAsev/aT0998デフォルトの名無しさん
2015/08/31(月) 14:13:50.22ID:LIRnTqik速度がいるのはポインタの取得でなく、ポインタからのデータ取得
IDは作るのが非プログラマの場合、ツールの場合、既存のものの場合、
または今後そう変更する場合もある
そういう拘りは、速度が要件になってから固執しろ
0999デフォルトの名無しさん
2015/08/31(月) 17:15:14.78ID:w0l476Lg「富豪的プログラミング」を洗脳的に刷り込まれたやつが書くコードが
世の中をどんなに減速しているか、わかってからでは遅いしね
1000デフォルトの名無しさん
2015/08/31(月) 17:20:24.18ID:l/+TTZEK10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。