トップページ⇒tech
903コメント319KB

ウルトラ初心者の質問スレVer2.0

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
ウルトラ初心者はこちらへ

ギコの所とうまく住み分けよーぜ…。
0002デフォルトの名無しさんNGNG
やばっ、もうできてるじゃん…って事でSage
0003デフォルトの名無しさんNGNG
自分で削除依頼だしてこい。>1
0004デフォルトの名無しさんNGNG
どっちも失敗ぎみだな

どっちも削除!
0005デフォルトの名無しさんNGNG
どっちも削除か(藁
00061NGNG
いや、やっぱ向こうの1よりおいらの方がかいてる事ましだから
こっち残す事に決めた(藁。

ってー事で向こう削除以来出してもらってね♪(はぁと
0007>1NGNG
Ver2.0ってなんだお?
00081NGNG
>>7

ん?Part2じゃないと逝けなかった?
0009デフォルトの名無しさんNGNG
じゃーこっちにするか…?

前スレはこれ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=974177768&ls=50
0010案内役NGNG
もう一つのスレッドに、誘導メッセージを書き込んできました。
削除依頼も出してきました。


0011案内役NGNG
勘違いがあるかも。なので訂正です。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=979396756
の削除依頼も出してきました。

です。
0012デフォルトの名無しさんNGNG
>>11
ごくろうさん。
0013デフォルトの名無しさんNGNG
Perl超初心者なんだけど、もしかしてPerlって範囲コメント出来ないの?
行末の方は調べたらすぐ分かったんだけど。
0014名無しさん@お腹いっぱい。NGNG
むかしどっかにさ 2chに書き込めるぐらいの
ちいさなゲームのプログラムを発表する
スレがあったと思うんだけど どこいったっすか?
しらないですか?
0015デフォルトの名無しさんNGNG
ごめん、わかりました。
001615NGNG
15は13の自己レス。失礼。
0017デフォルトの名無しさんNGNG
return分の戻り値はスタックに積まれるんですか?
0018デフォルトの名無しさんNGNG
すべてのデータは0と1なんですか?
0019デフォルトの名無しさんNGNG
>17
実装依存
>14
これ?
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=../dat2/964808011
0020デフォルトの名無しさんNGNG
uchar型で宣言されている変数をfwriteで保存し
その後、別のプログラムで、uchar型で宣言しといて
freadで取り込もうとしたら、
test.c:17: syntax error before `変数'
という風なエラーがでました。
ucharのuに対してエラーが起きてると思い、
仕方なく、char型で宣言しなおしたら、エラーなく
取り込めたのですがどうしてこういうことが起こるのですか?
困るのですが。
0021デフォルトの名無しさんNGNG
>>20
uchar って型が C の仕様にあるの? あるいは
どこかで typedef されてるの?
0022pikioNGNG
VC買いました。よろしくお願いします。
0023名無しさんおっぱい。NGNG
>22
いくらするの?
0024pikio>23NGNG
アカデミック版だから税抜き13500円・・・
0025デフォルトの名無しさんNGNG
フラグ用の定義名ってどんな名前がいいのかな?
どんな風にしたらいいですか?

と思ったけど、MFCにもいくらでもサンプルありますね
打つ山車脳・・・・・
0026デフォルトの名無しさんNGNG
数万から数十万行からなるファイルを重複行をカウントして
その大きさ順に並び変えたいのですが、
最も高速に処理するアルゴリズムを教えていただけないでしょうか
0027デフォルトの名無しさんNGNG
昔から疑問に思ってたことなんだけど....
例えば C++ でWindowsアプリを作るときは、Windows上で走る開発ツール使うよね。
(C++ Builder 等)
では、Windows そのものを作る時は、開発環境ってどうなってるのかな???
0028デフォルトの名無しさんNGNG
>>27
ウインドウズさ。
0029デフォルトの名無しさんNGNG
1つ古いバージョンのWindows
0030デフォルトの名無しさんNGNG
>>27
Linuxです
003120NGNG
>>21
ucharっていうのはunsigned charっていうので、、
c言語にある型ではないのですか?
ないとしたら凄い勘違いをしていました。
0032デフォルトの名無しさんNGNG
>31
typedef unsigned char uchar;
0033SAGENGNG
>>31
unsigned char はC言語の基本型としてほぼ必ずあるが、
uchar はそうではない、というかむしろデフォでtypedefされてる方が特殊なような。
0034デフォルトの名無しさんNGNG
C++には
<static cast>とか<reinterpret cast>とか
があるみたいなんですが、これらは普通のキャストと
何が違うのでしょうか?
0035デフォルトの名無しさんNGNG
>>34
MSDN読め
0036デフォルトの名無しさんNGNG
>>34
C++ではconst_cast,static_cast,reinterpret_cast,dynamic_castが
普通のキャストです。詳細は本や、MSDNを調べるのをお勧めします
0037名無しさん@お腹いっぱい。NGNG
>>35
ウルトラ初心者の質問なんだからさ、そういうレスはなしにしようよ。
static_castはint→doubleとかの比較的安全なキャスト

reinterpret_castは、メモリマップが同じ構造体同士のキャストなどの
などの比較的危険なキャスト。
これはどんな変換でもコンパイラが文句を言わない。
Cのキャストに一番近いのはこれかも。

プログラムをしていく上でC++のキャストを使わないといけないということはないが
間違ったキャストを使った時にコンパイラでエラー検出できる可能性が増えるので
出来れば使ったほうが望ましいくらいのものですか。
0038デフォルトの名無しさんNGNG
>>26
クイックソート
0039デフォルトの名無しさんNGNG
delphi5を買った、プログラミング未経験のsuper biginerです。

目的は、「縦書きのアウトライン・プロセッサーを作ること」
だけなのです。というのも探してもそういうソフトがなかった
からですが、買ってから気が付いたのは、もしかしたら縦にする
のはものすごい大変な事でしょうか。だからないということなの
でしょうか。どうか教えて下さい。
0040デフォルトの名無しさんNGNG
>>39
そういうじっくりとした質問は、2chでないところで聞いたほうがいいと思われ
アウトラインプロセッサは実物を見たことがないのでよー分からんのですが、
縦書きのエディタなら、
uses
SysUtils,...;
と並んでるところにRichEditと付け加え、フォームをダブルクリックして出てくるprocedureに、
 RichEdit1.Perform(EM_SETOPTIONS, ECOOP_OR, ECO_VERTICAL);
と書けばできる。
後は知らん。


004140NGNG
あ、もちろんまずフォームにWin32のTRichEditを貼り付けて、ね。
0042pikioNGNG
WinampのSkinなんかはひとつの画像にいくつものパーツの絵が書いてありますけれど
あれって、何ピクセル目から何ピクセル目を表示する、などと指定できるのでしょうか?
そうでしたらどうやるのでしょう?
違うのならどうやってるのでしょうか?
0043名無しさん@お腹いっぱい。NGNG
14です
どーもね>19
0044デフォルトの名無しさんNGNG
>36,37さん
ありがとうございました。
0045デフォルトの名無しさんNGNG
最近、プログラミングに興味を持って
C の入門書を一生懸命読んでいる中年男です。
いま、ポインタのところを読んでいるのですが、
*ptr = "ABC";
とかやると、
文字列 "ABC" の先頭アドレスを指すポインタ ptr が
作られるのですね?(ああ、不安だ)
じゃ、その "ABC" というのは、いつの間に作られたんでしょう?
0046デフォルトの芝村さんNGNG
>>45
その記述では、まともなOSならばメモリ保護違反でエラーになろう。
char *ptr;
ptr = "ABC";
が意図すべき記述ではあるまいか?

その前提で言うなれば、"ABC"などはコンパイルの時点で
実行ファイルの内部に格納されてる(場合が多い)。
これが実行開始時にスタートアップコードにより
メモリ空間に展開(配置)される故、何時の間にと聞くならば、
「最初から在る」という答えになろう。
004745NGNG
>>46
レス、どうもです。
char *ptr = "ABC";
です(型を書くのを忘れてました……汗)
「最初から在る」ですか……。
うーん、イメージしにくいですが、慣れるようにします。
0048初心者教育係NGNG
コンパイル、リンクするときに割り当てられます。
→静的記憶領域 static storage duration area

正しくは
char * ptr;
ptr = "ABC";
です。
ポインタ ptr を宣言して
それに "ABC" (文字列リテラルという)を指すアドレスを入れます。
*ptr はポインタの指す先の対象のことなので間違えないでください。

ちなみに ANSI では *ptr = 'a';
などして上書きすることは未定義っぽいです。
0049初心者教育係NGNG
あ、おもいっきりかぶった スマ
0050ダンNGNG
すっごい簡単なテニスゲーム(棒と球だけの)
を通信対戦可能にするにはどうすれば?
0051デフォルトの名無しさんNGNG
DirectPlay つかってください。>50
0052デフォルトの芝村さんNGNG
通信以前に、壁がないとテニスゲームにならぬであろう。

というのはさておき、
まずは通信しない対戦を可能にするのが近道であろうな。
対戦の仕組み(プレイヤー間の情報交換)さえ構築できれば、
マシン内の情報交換もマシン間の情報交換も、
(遅延を考えねば)さほど変わらぬ。
実際の通信手段を考えるのは、その後でも遅くはあるまい。
その時は、DirectPlayなりBSD socketなり、好きに選ぶがよかろう。
0053デフォルトの名無しさんNGNG
>>39
>>40さんの方法については、Oya Hidemiさん作「拡張 Memo & RichEdit コンポーネント」の
付属ヘルプに有益な情報があります。
ただ、これを読んで解るようになるまでには、色々と勉強することがあるでしょうが。
当該コンポは下記サイトにて入手可能です。健闘を祈ります。

Delphian World
http://home1.infonia.ne.jp/~delphian/delphi/
005439NGNG
40さん、ありがとうございました。遅くなりました。
パソコンがぶち壊れたので、マンガ喫茶にきています。

ほかのところでも聞いてみます。あと今日初心者用の
参考書を買います。
0055奥さん、名無しですNGNG
MS Visual Stadioってどういった人がつかうんですか?
社会人になってからVC++やVBを買うよりも(必要になったときに)
学割効くうちに三万ちょいで買っておいた方が後々得かな?
等と阿呆な事をかんがえているんですが・・
0056デフォルトの名無しさんNGNG
>55
今すぐ使わないなら買わない方が良い。
そのうちバージョンがあがる。
それに社会人になってから必要になれば会社が買ってくれる。(多分)
0057デフォルトの名無しさんNGNG
>55
今買うべしなのです!
バージョンがあがったらまた買えなのです!!
0058名無しさん@お腹いっぱい。NGNG
>55
今のうちに後輩をてなづけておいて、必要になったら買わせる。
0059デフォルトの名無しさんNGNG
VisualStadio.Netってオンラインで登録しなきゃいけないみたいじゃん。
気分悪いよなー。そういうことで、今買うべしなのです。

バージョンあがったのが必要になったとき、子供を使って買うといいです。
0060デフォルトの名無しさんNGNG
ネットワーク環境がないと使えないの?>VisualStudio.Net
0061デフォルトの名無しさんNGNG
めちゃくちゃ初心者です。
オブジェクト指向プログラムってなんなんですか?
属性?クラス?継承?メソッド?オブジェクト?ポリモーフィズム
本とかよんでも難しい事ばっかり書いてあって・・・・
簡単に説明してください。お願いします。
0062デフォルトの名無しさんNGNG
本を読んでわからなかったのにここで説明しても
恐らくわからないだろう。
0063デフォルトの名無しさんNGNG
intel系のCPUで
例えば0x0123という値をshortの変数に格納したい場合、
short a
a = (0x01 << 8) + (0x23);
などとやりますよね?
でも、上のやり方でリトルエンディアン(intel)だと格納値って0x2301
にはならんの?(ってゆうかちゃんと0x0123になるのが不思議)
0064デフォルトの名無しさんNGNG
>>61
本を読んでわからなかったということは、その本に書いてある
以上の事を説明しないとわからんちん。って事か?
その本、何ページありました?(笑)
0065デフォルトの名無しさんNGNG
>>63
いいやぁ
short a = 0x0123
としますが。
バイトオーダーの問題は、オーダーの違うマシンでバイナリ
を交換したときに発生しますね。
単一のコンパイラで収束している場合は、関係なし。
006663NGNG
char *p
short a
p = &a

*p = 0x23
*(p+1) = 0x01

↑きっとこんな場合のときだけ意識するんでしょうかね?
くだらないことでスミマセンでした。
0067デフォルトの名無しさんNGNG
>>63
つーか、そこ意識しなきゃいけないなら
何のための言語なのか?
全然ハードの差を吸収できてないじゃん

66の問題はOSによりそうだが?
いま、試験できる環境が無いから例を出せない

unionなら確実に差が出るだろう
0068SAGENGNG
>>63
つーかそれじゃぁ、
short a;
a = 256 + 35;
ってやると 8961 にならないのが不思議って言ってるようなもんだぞ。
0069デフォルトの名無しさんNGNG
オブジェ苦吐思考・・プログラムを切り分けてまとめて
部品化して・・・。
その場限りでなく、管理、再利用しやすいわけだ。

その場限りのプログラムには、あまり必要ないかもめ・・。
0070名無しさん@お腹いっぱい。NGNG
VC++5.0つかっているんですが、そのデバッガをつかって一つずつ実行しようとデバッグ→ステップインを選択しました。mainの先頭から実行されていきますが、しょっぱなかなら心当たりのないソースファイル(dgbheap.cやらのパスの指定を強制されます。ドライブのなか探してもないし・・・・これはいったいなんでしょうか?
0071デフォルトの名無しさんNGNG
>>70
ランタイムライブラリのソースです。ランタイムライブラリに対してステップインを実行するとでてきます。
デバッグの必要のない関数はステップオーバー(F10)でとばしましょう。
0072デフォルトの名無しさんNGNG
>>63
メモリーは意識できてるようだけどレジスタのことをど忘れしてるよ。ちみ
0073デフォルトの名無しさんNGNG
ウルトラ初心者でごめんなさい。

「『銀行口座』が持つべき情報(残高)及び
 『銀行口座』に対する操作(作成、残高照会、入金、引出)の
 内容を決め、『口座』のクラスを定義せよ」

と問われました。さっぱりわかりません。
お助け下さい。
0074デフォルトの名無しさんNGNG
↑ JAVAです。
0075デフォルトの名無しさんNGNG
class 銀行口座
{
 private int 残高;

 public 銀行口座(int 制作時の入金額)
 {
  残高=制作時の入金額;
 }
 public int 残高照会()
 {
  return 残高;
 }
 public void 入金(int 入金額)
 {
  残高+=入金額
 }
 public int 引出(int 引出額)
 {
  if(残高<引出額) // 引き出せね〜ぞ!ゴルァ!!
  {
   return 0;
  }
  残高-=引出額;
  return 引出額;
 }
}

0076デフォルトの名無しさんNGNG
都合によりVCのデバッガ使えないのでターボデバッガ使おうとしたらVCのように簡単ではないですね。VCのように変数と変数の中身を表示できるようにはできませんか?
007773NGNG
>75
感謝感激!!
ありがとうございます!!
0078むぎ茶NGNG
>>75
引き出せない時には 例外投げるほうがよいのでは?
0079通りすがりNGNG
なぜ、正常処理中に例外?
0080デフォルトの名無しさんNGNG
>>79
きっと口座からは無尽蔵に引き出せると勘違いしているのです(笑)
0081デフォルトの名無しさんNGNG
try {
  自分の口座.引出(必要な金額);
}
catch( 金が足らない ) {
  無人君.ご利用は計画的に(必要な金額);
}
0082デフォルトの名無しさんNGNG
>>81
足りなかったら自動的に借りるのか?
迷惑だぞ(笑)
0083名無しさん@夢いっぱいNGNG
将来、コンピュータのインターフェイスは、キーボードやマウスから
音声や視覚へと変化していくと思うのですが、それに伴ってプログラミング
はどう変化していくのでしょうか?
0084デフォルトの名無しさんNGNG
OOPを勉強したいんだけどC++とJavaのどっちがいいのでしょうか
0085ぎこるびNGNG
>>84
それはもう Ruby と言いたいところですが、
C++ か Java ということなので Java です。
・SDK が無料で手にはいる
・ポインタがない
・friend 関数なんてものもない
・多重継承もない
と C++ に比べて OOP に専念できると思います。
Java World でも読むと OOP についての記事がちょくちょくありますよん。
0086デフォルトの名無しさんNGNG
>>85
どうもありがとうございます。ところでJavaのクラスライブラリと、
MFCやVCLのC++クラスライブラリとを比べてるとどちらが使い易いと
考えますか。
0087デフォルトの名無しさんNGNG
>>83
MSやIBMが入力インターフェイス用のAPI群を作り公開する。
他のプログラマはそれを使用するだけ。
基本的にはキーボードやマウスを制御してる現在のコーディングと変わらないと思うが・・・
0088デフォルトの名無しさんNGNG
>>85
C++だって優良なコンパイラがタダで(しかも沢山)手に入るよん。
>>84
JAVAは遅すぎるので却下。
最初はC++で泥沼にはまりましょう。
…と、言いたい所だけど、JAVAは標準ライブラリが充実してるので、プロトタイピングが早いのが良ければやっぱりJAVAかなあ。
C++ってなにもかも中途半端な気がするし。(STL気持ちわるい派です。)
0089名無しさん@お腹いっぱい。NGNG
いまSDKでWindowsプログラミングを勉強しています。
最近メッセージクラッカを使い始めたのですが、windowsx.hの中に
WM_NOTIFYに関するものがありません。
HANDLE_WM_COMMNOTIFYというものを見つけましたが、これは逆に
WM_COMMNOTIFYというメッセージがなくて(?)よくわからなくなってきました・・

すなおにウィンドウプロシージャの中で case WM_NOTIFY: 〜 と書くしかないのでしょうか。
0090デフォルトの名無しさんNGNG
C++のカオスティックなセカイが好きだ(藁)
クラスに多重継承にテンプレートにgoto
STLに果てはインラインアセンブラ, パーサにインタプリタスクリプト
なんでもアリ
言語仕様は貧相だが
0091デフォルトの名無しさんNGNG
すいませんが、本当にウルトラ初心者な質問をさせてください。

「型」のある利点は何なのですか?
メモリを効率よく使えるとか、そういう事なんでしょうか?
0092デフォルトの名無しさんNGNG
>>91
特になし。
あるのが普通。CPU(レジスタ)の構造上あって当然。
ないと無駄。
特に数値と文字列の区別がないってのは処理が遅くなる。
0093SAGENGNG
>>91
型があった方がバグが少なくて済む。少なくとも俺の場合は。
0094デフォルトの名無しさんNGNG
オブジェクト指向を理解するのに何か適当な課題はないでしょーか。
本を何冊か読んだので後は体で覚えようと思うのですが。
009591NGNG
>>92さん、>>93さん、ありがとうございます。

要は、ウルトラ初心者はそんなこと気にしないで
「そういうものだ」と覚えておけば十分という事ですね。

Perlから入って、Cを覚えようと本を読み出したのですが
型宣言が面倒に感じられたので。慣れの問題ですかね。
ありがとうございました。
0096デフォルトの名無しさんNGNG
Perlにも型あったでしょ?
0097デフォルトの名無しさんNGNG
>>91
コンパイル時にエラーを見つけることができるので型ありのほうが楽。
0098デフォルトの名無しさんNGNG
初歩的な質問で申し訳ありません

「インストール」
はどうして必要なのでしょうか?
私的に思うところでは実行ファイル(*.exe)とDLLを同一フォルダにおけば
困ることはないと思うのですが。
0099デフォルトの名無しさんNGNG
>98
インストーラ付いてないと「使い方が分かりません。」って言って来る奴がいるから(マジ)
0100デフォルトの名無しさんNGNG
Javaについて聞きたいのですが、Javaって聞くとアプレット記述言語で
お手軽とゆう印象があるんですけど、今現在のJavaの状況ってどうなって
いるんでしょうか?
0101デフォルトの名無しさんNGNG
>>100
GUIの互換性を保つのが難しいとみんな悟ったので
GUIのいらないサーバーサイドで最近は使われてます
つか新規案件はNTじゃなきゃほとんどJava
あと、UNIX,Win,Max対応ルータの設定ツールでJava使ってるのが
あったような、、
■ このスレッドは過去ログ倉庫に格納されています