プログラミングしかやることがない【話題探そう】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/06/10(土) 21:50:22独り言でもなんでもいい。
過疎に負けず、プログラミングについて語ろう。
0002デフォルトの名無しさん
2006/06/10(土) 21:57:430003デフォルトの名無しさん
2006/06/10(土) 22:27:570004デフォルトの名無しさん
2006/06/10(土) 23:31:05動的配列の実装についてなんだが、
・1つずつの動的メモリ確保命令では、必ずしも確保されるアドレスは連続でない
・何回確保されるかわからない状態で、連続でない複数のアドレスを保持するのに配列は使用できない
ことを考えると、動的配列の実装は
内部にリストを持つクラスで[]を再定義するしかないんだろうか?
0005デフォルトの名無しさん
2006/06/10(土) 23:44:00そこまで考えてクラスまで持ち出さなくても
できるはずだって思わない?
0006デフォルトの名無しさん
2006/06/10(土) 23:54:24非クラスでリスト使わずに
番号でアクセスできる動的配列ってマジで作れる?
0007デフォルトの名無しさん
2006/06/10(土) 23:59:53そんなことないぞ。
C++のstd::vectorは常に要素がメモリ上に連続している保障がある。
0008デフォルトの名無しさん
2006/06/11(日) 00:16:000009デフォルトの名無しさん
2006/06/11(日) 00:16:43ほうほう。
っていうことは、std::vectorが
最優先的に排他的な「不定サイズ」の連続メモリ領域を確保
できることが保障されてるんだよね。
それには、他のいかなるメモリ確保も、std::vectorの連続領域が伸びてくる可能性がある
近辺のアドレスに寄らせないようにする制御と、
メモリ管理全体でstd::vectorの領域の連続性を最優先して
他の確保可能領域のデータを再配置することとかが必要な
気がするんだけど、どうなんかな。
低レベルなメモリ制御が要るんだろうか。
0010デフォルトの名無しさん
2006/06/11(日) 00:19:19std::vectorは要素を増やすなど確保するメモリを増やすときには、
増えた後のメモリを確保して、そこへ既存の要素をコピーしているだけ。
そしてその操作が成功すれば、今までの要素が使っていたメモリを解放する。
0011デフォルトの名無しさん
2006/06/11(日) 00:23:03変に難しく考えすぎじゃね?
もっとシンプルに考えなよ。
全てのプログラムの基本だよ? < シンプルに考える
0012・∀・)っ-○◎● ◆toBASh....
2006/06/11(日) 00:26:57標準のアロケータはバッファが足りなくなると都度2倍の領域を新たに確保し、コピーした後古い領域を削除する。
実際に利用されてる領域の最大約3倍ものメモリが一時的に割り当てられるわけだ。
アロケータを自前で定義すれば任意の領域に確保することだって可能になる。
まぁ、組み込み系なんかを想定した仕様なんだろうけど。
0013デフォルトの名無しさん
2006/06/11(日) 00:30:51realloc()使ってみる!
>>9
なるほど。ベースアドレスを固定しないで、
その都度全体コピーする仕組みなんだね。
両方勉強になった。ありがとう
0014デフォルトの名無しさん
2006/06/11(日) 00:38:16アロケータは指示されたとおりの量のメモリを確保して解放するだけ。
2倍とかそういうのはvectorの実装次第。
0015デフォルトの名無しさん
2006/06/11(日) 00:39:28そうだねぇ。
配列ベースアドレスをずっと固定で考えてた。
>>12
アロケータを変更すればベース固定でも連続性の保障が
できそうだね。
0016・∀・)っ-○◎● ◆toBASh....
2006/06/11(日) 00:48:210017デフォルトの名無しさん
2006/06/11(日) 00:57:242倍じゃないかもしれないけど、整数倍ごとってのはきまってるんだよね?たしか
0018デフォルトの名無しさん
2006/06/11(日) 01:00:490019デフォルトの名無しさん
2006/06/11(日) 02:57:03プリプロセッサディレクティブを多様する言語はC,C++以外には何があるかな?
0020デフォルトの名無しさん
2006/06/11(日) 03:52:280021デフォルトの名無しさん
2006/06/11(日) 04:16:100022デフォルトの名無しさん
2006/06/11(日) 04:29:510023デフォルトの名無しさん
2006/06/11(日) 06:01:450024・∀・)っ-○◎● ◆toBASh....
2006/06/11(日) 06:15:27Borland C++がコンパイル速いのは、最適化がしょぼいから。
>>23
言語仕様上使わざるを得ないものもあるし、一概には言えん。
モジュール化されるべきものがモジュール化されてるかどうかが問題じゃないかな。
0025デフォルトの名無しさん
2006/06/11(日) 07:23:13(つД`)
0026デフォルトの名無しさん
2006/06/11(日) 07:44:410027デフォルトの名無しさん
2006/06/11(日) 08:12:23一部のマクロアセンブラ。
0028デフォルトの名無しさん
2006/06/11(日) 13:35:55プログラミングしかやることがないからどんどん深みに嵌っていくのさ。
0029デフォルトの名無しさん
2006/06/11(日) 14:34:470030デフォルトの名無しさん
2006/06/11(日) 14:35:58という疑問もある。
0031デフォルトの名無しさん
2006/06/11(日) 14:40:50という疑問もある。
0032デフォルトの名無しさん
2006/06/11(日) 15:48:340033デフォルトの名無しさん
2006/06/11(日) 15:52:13操作するかたちにしたほうがいいの?
0034デフォルトの名無しさん
2006/06/11(日) 15:53:36DelphiやVBにも一応プリプロセッサ命令はついてるけど
あんまり使わないな。
0035デフォルトの名無しさん
2006/06/11(日) 17:13:350036デフォルトの名無しさん
2006/06/11(日) 17:55:260037デフォルトの名無しさん
2006/06/11(日) 17:56:120038デフォルトの名無しさん
2006/06/11(日) 17:57:430039デフォルトの名無しさん
2006/06/11(日) 17:58:14プリプロセッサというよりコンパイラ指令だな。
{$DEFINE IOCHECK}
{$DEFINE DEBUG}
{$DEFINE LIST}
とか
0040デフォルトの名無しさん
2006/06/11(日) 17:59:58Pascal は C/C++ と違って、ちゃんとした専門家が言語設計したから。
それ故嫌われている部分もあるけど。
0041デフォルトの名無しさん
2006/06/11(日) 18:07:56end書いたり書かなかったり
0042デフォルトの名無しさん
2006/06/11(日) 18:46:590043デフォルトの名無しさん
2006/06/11(日) 18:52:470044デフォルトの名無しさん
2006/06/11(日) 20:32:140045デフォルトの名無しさん
2006/06/11(日) 20:42:510046デフォルトの名無しさん
2006/06/11(日) 20:53:560047デフォルトの名無しさん
2006/06/11(日) 20:59:11だれが上手いこと言えといった
0048デフォルトの名無しさん
2006/06/13(火) 21:15:30ずっと考えてたことがネットに載ってたよ
0049デフォルトの名無しさん
2006/06/14(水) 10:47:04だからみんな有難がって使うのか
0050デフォルトの名無しさん
2006/06/14(水) 12:13:560051デフォルトの名無しさん
2006/06/14(水) 14:12:27.conf もそのうちレジストリ化されるかもしれんな
0052デフォルトの名無しさん
2006/06/24(土) 17:16:28マジウザイ
0053マイク ◆yrBrqfF1Ew
2006/06/24(土) 17:51:090054デフォルトの名無しさん
2006/06/24(土) 18:01:13マイクソフトが必死に擁護してるんだろ
0055デフォルトの名無しさん
2006/06/24(土) 20:28:14??
0056デフォルトの名無しさん
2006/06/24(土) 21:03:43ttp://www.mikesoft.com/
0057デフォルトの名無しさん
2006/06/25(日) 02:13:510058デフォルトの名無しさん
2006/06/25(日) 17:26:100059デフォルトの名無しさん
2006/06/25(日) 17:28:47ttp://microft.com/
0060デフォルトの名無しさん
2006/06/25(日) 17:55:17www.microsfot.com
0061デフォルトの名無しさん
2006/06/27(火) 18:37:400062デフォルトの名無しさん
2006/07/01(土) 23:31:08定数ってどうしてる?
#define TIMER_INTERVAL 300
みたいに書くと、
・大文字と_であらわすことになる
・型が指定できない
・プリプロセッサで置換処理が行われる
・クラス内だけで使うとしてもファイルスコープでグローバル扱い
・ヘッダで値を見ることになる
一方で
class CMyClass
{
staitc const int c_iIntervalTimer;
};
const int CMyClass::c_iIntervalTimer = 300;
みたいだと、
・2箇所書かなければならない
・型を指定できる
・ソースファイルで値を見ることになる
・大文字と小文字を混ぜて書ける
っていう特徴があると思うんだけど
どっちがいいんだろう。
0063・∀・)っ-○◎● ◆toBASh....
2006/07/01(土) 23:37:42値を返すインライン関数を定義するとか
あと、整数限定だけどenumを使う方法もあるよね
俺は整数ならenumで配列とかは後者
0064・∀・)っ-○◎● ◆toBASh....
2006/07/02(日) 00:37:21標準ライブラリにならったコーディングの慣習でそうなってるだけ。
AppleのCarbonのイベントID定数なんて全大文字ですらない
0065デフォルトの名無しさん
2006/07/02(日) 08:34:52整数型に限ってはこのようにインラインで定義してよい。
対応していないコンパイラを使っているのならenumを使うしかないけど。
class CMyClass
{
staitc const int c_iIntervalTimer = 300;
};
また、クラスの外でも、#defineを使わずに定数を定義できるよう、ヘッダにこう書いても良い。
const int HogeHoge = 777;
0066デフォルトの名無しさん
2006/07/02(日) 13:37:59100回以上登場するときとかは
型指定なしで大文字慣習のあるプリプロセッサマクロ定数だと
ソースの可読性、保守性は落ちる気がする。
あと、膨大な数あった場合に置換処理の繰り返しでコンパイル速度に
影響は無いのかと変な疑問を持ったりする。
プリプロセッサマクロ定数の利点って
定数領域をとらないことだけ?
0067・∀・)っ-○◎● ◆toBASh....
2006/07/02(日) 13:44:38C++ならconst intで配列サイズ指定できる仕様になってる。
どうせ最適化かければ消えるんだから問題なし。(組み込みだとむやみに最適化はかけないほうがよさそうだけど)
0068デフォルトの名無しさん
2006/07/02(日) 14:27:49defineマクロの場合、プリコンパイルできるコンパイラならマクロ置換速度は無視できますね。
0069デフォルトの名無しさん
2006/07/02(日) 15:13:240070・∀・)っ-○◎● ◆toBASh....
2006/07/02(日) 15:18:14VCはASMコードに対する最適化は無効になるからね。
どのみちx64アプリ書くのにインラインASMじゃ無理だけど
(Intrinsicsでラフに書いてASMでチューニング)
0071デフォルトの名無しさん
2006/07/02(日) 16:10:30把握するのはむずかしーよなあ
0072助けてください!
2006/07/02(日) 16:55:28http://science4.2ch.net/test/read.cgi/math/1149992511/
0073デフォルトの名無しさん
2006/07/02(日) 20:39:290074デフォルトの名無しさん
2006/07/02(日) 20:49:51そ れ を い う か (鬱
0075デフォルトの名無しさん
2006/07/02(日) 22:18:210076デフォルトの名無しさん
2006/07/03(月) 00:22:170077デフォルトの名無しさん
2006/07/03(月) 17:44:51まだバグが多すぎて使い物にならないんだ
0078デフォルトの名無しさん
2006/07/03(月) 18:48:17おまえインスタンスのプロパティの設定をやりなおす必要がある
0079デフォルトの名無しさん
2006/07/03(月) 18:57:48こんなんでいいかな?
Tomodachi t = new Tomodachi("motemote");
Kanozyo okobore = t.getKanozyoList().getLast();
0080デフォルトの名無しさん
2006/07/03(月) 22:25:12インスタンスを入れ替えればいいんじゃないか?
Human res76 = new Res76();
res76.getKanojo(); //なぜか必ず失敗する
res76 = new Ikemen();
res76.getKanojo();
0081デフォルトの名無しさん
2006/07/03(月) 22:33:58最新の彼女奪ってどうする
おこぼれならLast以外にしないと
0082デフォルトの名無しさん
2006/07/03(月) 23:20:16技術的にはこっちの方が楽か……
Kanozyo get(void){
OtokoTomodachi t = new OtokoTomodachi("otonashii");
return (Kanozyo) t;
}
0083デフォルトの名無しさん
2006/07/04(火) 09:38:570084デフォルトの名無しさん
2006/07/04(火) 19:12:04LPVOID型が存在して使えるっていうことは
ポインタの指し型指定って
別に動作的に必要なわけじゃなくて
文法の都合でコンパイラがチェック入れてるだけってことかな?
0085デフォルトの名無しさん
2006/07/04(火) 19:21:510086デフォルトの名無しさん
2006/07/04(火) 19:22:42板違い
マ板へ行け
0087デフォルトの名無しさん
2006/07/04(火) 19:35:040088デフォルトの名無しさん
2006/07/04(火) 19:42:21どうかお願いします。
0089デフォルトの名無しさん
2006/07/04(火) 20:03:02いや、ポインタが指し示す型によってポインタ型の大きさは異なっても良い。
その場合でも、どんなポインタ型の値をvoid*にして、また元のポインタ型に戻したものは元と同じことが保障されている。
http://www.kouno.jp/home/c_faq/c5.html#17
0090デフォルトの名無しさん
2006/07/04(火) 21:31:21禁断のプログラム
オートデバッガ
0091デフォルトの名無しさん
2006/07/04(火) 21:42:21【目標ない奴】おまいらに課題を与える。【集まれ】
http://pc8.2ch.net/test/read.cgi/gamedev/1026148930/
0092デフォルトの名無しさん
2006/07/05(水) 20:08:54//MyClass.h
class CMyClass
{
public:
staitc const int c_strTitle;
};
//MyClass.cpp
const TCHAR* CMyClass::c_strTitle = "ぬるぽ";
みたいなコードで値の設定をヘッダに書くとエラーになるんだけど
ヘッダに入れる方法はないだろうか?
あと、2次元配列を定数値で初期化するのってどうやってる?
0093デフォルトの名無しさん
2006/07/05(水) 20:17:42どうしてもやりたければ、静的関数ならクラス宣言の中で定義することができることを使う。
class CMyClass
{
public:
staitc PCTSTR Title() {return TEXT("ぬるぽ");};
};
あるいはクラステンプレートの静的メンバの定義をヘッダに書いても良いことを使う手もあると聞いたことがある。
0094デフォルトの名無しさん
2006/07/05(水) 20:37:14なるほど。
しかし#includeでファイルが上下につながるだけなのに
なぜヘッダだとだめなのか不思議だ。
0095デフォルトの名無しさん
2006/07/05(水) 21:11:04実行時にちゃんと代入を行うような系だってあるだろうから。
0096デフォルトの名無しさん
2006/07/06(木) 12:38:30>あと、2次元配列を定数値で初期化するのってどうやってる?
char aho[2][3] = { { 1, 2, 3 }. { 4, 5, 6 } };
0097デフォルトの名無しさん
2006/07/07(金) 00:14:50説明が難しい話だが、コンパイルではエラーにはならない。
リンクの時点でエラーとなる。まあ、大きな目で見るとコンパイルのエラーなんだが。
a.cppとb.cpp両方でCMyClass.hをインクルードしてコンパイルしたとしよう。
すると、a.objとb.objができるわけだが、
どっちのobjにも「const TCHAR* CMyClass::c_strTitle = "ぬるぽ";」の情報ができる。
で。a.objとb.objを合体させてexeを生成するリンカーが、
a.objとb.obj、どちらのc_strTitleを使用・信頼すればいいのかわからずリンクエラーとなる。
009897
2006/07/07(金) 00:16:21static const char*の場合は重複定義でリンクエラーになったけど、
static const int の場合はエラーにならなかったよ。よくわからん。
0099デフォルトの名無しさん
2006/07/07(金) 17:24:57constな整数型のクラスの静的メンバは、グローバルなconst定数と同じように、
#defineに代わって定数として使えるよう、そういうことになっている。
0100デフォルトの名無しさん
2006/07/10(月) 10:21:11ためになるな。
0101デフォルトの名無しさん
2006/07/10(月) 18:21:280102デフォルトの名無しさん
2006/07/10(月) 19:42:130103デフォルトの名無しさん
2006/07/23(日) 00:51:000105デフォルトの名無しさん
2006/07/23(日) 02:16:10俺なんかもう何冊もC本読んじゃって、そろそろ仕様書そのものに手をつけようかという勢いなんだが。
(ANSIスレ行け?そりゃごもっとも)
0106デフォルトの名無しさん
2006/07/23(日) 05:19:480107デフォルトの名無しさん
2006/07/23(日) 07:10:34何冊も読む香具師って
いつまでたっても初心者のままなの
0108デフォルトの名無しさん
2006/07/23(日) 10:24:041冊だけだと知識に穴が出来たり、偏りが出たりするからな。
そこから先は好き好きで。
0109デフォルトの名無しさん
2006/07/23(日) 10:27:010110デフォルトの名無しさん
2006/07/23(日) 11:10:03メンバ集マンネ。
0111デフォルトの名無しさん
2006/07/23(日) 11:14:03って言ったら共謀座位?
0112デフォルトの名無しさん
2006/07/23(日) 11:19:370113デフォルトの名無しさん
2006/07/23(日) 12:39:11Windowsに変換ソフトとして登録するにはどうしたらいいですが。
まったく検討もつきませぬ。
0114デフォルトの名無しさん
2006/07/23(日) 14:51:47ImmInstallIMEという如何にもと言う名前をした関数がある。
0115デフォルトの名無しさん
2006/07/23(日) 15:43:50おおありがと!
0116デフォルトの名無しさん
2006/07/23(日) 16:10:310117フルーツポンチ侍
2006/07/23(日) 17:02:120118デフォルトの名無しさん
2006/07/23(日) 17:58:40立ててるよ
0119デフォルトの名無しさん
2006/07/23(日) 19:58:390120デフォルトの名無しさん
2006/07/23(日) 22:12:56>同じジャンルの本でも2〜3冊は読むだろ。
読む読む。漏れはデザパタ関連の本を7冊買って読んだ。
0121デフォルトの名無しさん
2006/07/23(日) 22:22:070122デフォルトの名無しさん
2006/07/23(日) 22:51:16ここよりはソフトウェア板のほうが
趣味で作ってる人は多い予感
0123デフォルトの名無しさん
2006/07/24(月) 00:39:43どちらかというとパン派です。
0124デフォルトの名無しさん
2006/08/12(土) 22:32:36同業者以外の人に理解させるのは絶対無理だと気づいた
0125デフォルトの名無しさん
2006/08/13(日) 00:12:24その気持ちわかるな。どっちもわかるな。
お盆だから好きなだけプログラムが組める喜びも、
同業者以外の人に理解させることが無理なことも。
しかし、プログラミングが好きだということは理解してもらえる。
この人は個性的な人だなってことは理解して貰えるよ。
0126デフォルトの名無しさん
2006/08/13(日) 00:28:14そりゃ無理わだな。
奴等にとってプログラム?チマチマ面白い?
だからな。
俺等が何かつまずいてたもんが解決してうまく動作して感動しても
奴等にその感動は伝わらないもんじゃ。
0127デフォルトの名無しさん
2006/08/13(日) 01:17:29まあ、どの世界いっても同じだと思うけどな。
今の日本で生産的な行動を理解してくれる人は少ないよ。
一般人の喜びというのは映画みるとか旅行いくとか消費者的な立場を満喫することだろ。
人は人。自分は自分。理解してもらおうとも思わんよ。
0128デフォルトの名無しさん
2006/08/13(日) 01:19:39さっさと死滅すりゃいいのに
0129デフォルトの名無しさん
2006/08/13(日) 04:27:260130デフォルトの名無しさん
2006/08/13(日) 11:54:01逆に消費的な人が多いからこそ、生産的な人にとっては大きなチャンスなわけだが。
>>129
そりゃ困り者だなwwwこちらから喋れないなら聞き上手になるっていうのもいいよ。
人は皆、自分の話を聞いてもらいたいという性格をしてるからね。
最初は、違う価値観を持つ人間と話すと「めんどくせーし、無意味だな」と思うかも試練が、
そこを演技でもいいので面白そうに質問したり、聞いたりしてあげるとええよ。別に自分から話題を振ることはない。
0131デフォルトの名無しさん
2006/08/19(土) 22:21:060132デフォルトの名無しさん
2006/08/19(土) 22:26:470133デフォルトの名無しさん
2006/08/19(土) 22:30:240134デフォルトの名無しさん
2006/08/21(月) 01:19:03プラスとマイナスの収支で動いてるんだから。
0135デフォルトの名無しさん
2006/08/21(月) 02:17:25そのプログラムを会社を通して仕事を作るんでなくて、
個人としてビジネスになるようがんばってみては?
会社から給与としてもらっている立場でいる限り、
どんなに努力しても所詮はハシタ金しかもらえない。個人契約なら別だが。
0136デフォルトの名無しさん
2006/08/21(月) 22:19:070137デフォルトの名無しさん
2006/08/22(火) 01:37:31新しいものを創り出すなんて100年経ってもムリムリカタツムリ
0138デフォルトの名無しさん
2006/08/23(水) 00:31:110139デフォルトの名無しさん
2006/08/23(水) 00:48:29一方ロシアはDelphiを使った
0140デフォルトの名無しさん
2006/08/23(水) 17:15:390141デフォルトの名無しさん
2006/08/23(水) 22:27:56ロシア独創的素敵。失敗だったけど。
>>140
Googleは最近じゃ地図とかデスクトップ検索とか他にも色々とおもしろいものつくってるでしょ。
それらの面白みが世間の興味を引いたのではないかと。主要なものは検索サイトだけど。
っていうかあの会社の収入は広告料だけ?
0142デフォルトの名無しさん
2006/10/10(火) 17:25:48市場から得ている金もあるだろう。
NASDAQの主要銘柄の1つなんだし
それとFroogleが新しい収入源のひとつになりそうだね。
0143デフォルトの名無しさん
2006/12/15(金) 03:05:430144デフォルトの名無しさん
2006/12/27(水) 13:49:380145デフォルトの名無しさん
2006/12/27(水) 19:31:530146デフォルトの名無しさん
2006/12/27(水) 19:35:120147デフォルトの名無しさん
2007/02/23(金) 14:52:55e;:qe;qw
asd;:das:
qwe;qw;
sdas:das:
e:eq:weq
asdas
e::e;qw:
sdasdadad
0148デフォルトの名無しさん
2007/07/24(火) 14:44:02 ̄ ̄ ̄ ̄ ̄\|~ ̄ ̄ ̄ ̄
_,,t-‐‐-、,-‐‐-、
三'::::::............... .....::::::`y,.
ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ
| ̄| V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{
| ̄| | ̄| ナ::::::::::::::i`__,,,,,,,ァ_ _,,,,,_ t;;:ヌ
| | | | イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f
| | | | i {t)テ" ヘ' '___,イ ヽ_/ 介'
| | | | _,rヘ_,j|!' /ー--''! |'
|,.ィ―'''' ̄ /| | /二ク !
/;;:::'';;::''::;;:/ { ! 、 ヾニン ノ\
/'''::::;r|''':::;;;| | ! \ _,,./|::;;'''\
/:;;/ |;;;''::;;| 丶\ `__>-ー´ !;;;:'''::iヽ、
i/ |'::;;;;''| 三 ―''" !''::;;;;| /ヽ
/⌒ヽ |;;''':::;| \ !;;::''|/ i
/ \{'';;;::''}  ̄二ニ= !::;;| |
/ヘ |;;:::::;{ ‐- !/ |
/ i |:::;;;''! ー ! / |
/ l |;;'';イ } {、
〉、 ∧テ{ ヽ _ _,,,,;;;;;:::-==ニ;;;_ ノ __,イ´
/ \_ //レ!  ̄  ̄ { ̄ |
0149デフォルトの名無しさん
2007/12/05(水) 18:44:500150デフォルトの名無しさん
2008/01/08(火) 22:26:220151デフォルトの名無しさん
2008/01/09(水) 10:28:030152デフォルトの名無しさん
2008/01/17(木) 00:48:570153デフォルトの名無しさん
2008/02/13(水) 16:57:220154デフォルトの名無しさん
2008/02/14(木) 11:53:540155デフォルトの名無しさん
2008/04/21(月) 21:57:50■ このスレッドは過去ログ倉庫に格納されています