■掲示板に戻る■ ■過去ログ倉庫めにゅーに戻る■
( ゚Д゚)ノ ギコ猫のプログラム相談室part3
1 名前: 新米ギコ 投稿日: 2000/08/10(木) 23:14
  __
 J_†_|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (,,゚Д゚) < 新天地開拓、なんでもオレに聞け!
Π ̄ ̄ ̄| \
|つ 布教 ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
前のスレ http://mentai.2ch.net/test/read.cgi?bbs=prog&key=963328406


2 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 01:30
この板、閑古鳥が鳴いているようですが、どうすれば人が増えますか


3 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 01:38
SDKを勉強を始めた所です。
関数とか構造体とかが覚えれないんですが、意識的に覚える方が
良い? 慣れて自然に覚える方が良い? どっち?


4 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 05:34
とりあえず「覚える」という発想はやめたほうが宜しいかと。
学校のテストとかと違って、いくら本見ようがカンニングしようが
カット&ペーストしようが平気よん。
いちいちAPIの仔細まで記憶する必要などありません。
#現に私もWinMain関数どんなだったか思い出せないし(w

とにかく何でもいいのでコーディングしませう。


5 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 06:01
>3
必要なときに、必要なドキュメントが引ければ、それで良し。

英語は読めた方が便利だけどな。


6 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 08:56
こういうスレッドうざいな。
sage


7 名前: >6 投稿日: 2000/08/11(金) 09:02
同感です。1が来てからプログラム板が荒れましたです。


8 名前: 新米ギコ 投稿日: 2000/08/11(金) 10:43
  __
 J_†_|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (,,゚Д゚) < >>2 産めよ、増やせよ、細胞分裂。 気長に待て!
Π ̄ ̄ ̄| \
|つ 布教 ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>3 言語の仕様は覚えろ! 関数はリファレンス引け!
Π ̄ ̄ ̄| \_____________
|つ 理解 ()
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>4-5 お勤めご苦労さん!
Π ̄ ̄ ̄| \_____________
|つ 感謝 ()
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>6 このれすむかつく〜♪ sageだ!
Π ̄ ̄ ̄| \_____________
|つ sage ()
| |___.|
  ∪∪
  ノ/∧ ∧ヽ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  川 ̄з ̄|| <   >>7 同感です。 7が来てから荒れましたです
  〜(,,⊃ ノ⊃  \______________
  (__)_)


9 名前: 名無しさん@おっぱいがいっぱい。 投稿日: 2000/08/11(金) 13:04
>>6 このれすむかつく〜♪ sageだ!
>>7 同感です。 7が来てから荒れましたです
新米ギコがギコらしくなってきたぞ!

新米ギコさんに
もっとモナー語を使って欲しいのですが、どうしたらいいですか


10 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 15:12
sageで書けば下がると思ってる、6=7みたいなバカは
プログラマ板から出て来ないで欲しいな。


11 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 15:39
class test{
public static void main(String args[]){
System.out.println("hoge\b");
}
}
の出力結果はhogeなのに、
class test{
public static void main(String args[]){
System.out.println("hoge\bhoge");
}
}
の出力結果はhoghogeなのはなぜですか?

初めの出力結果がhogではなくhogeな点が疑問です。


12 名前: >11 投稿日: 2000/08/11(金) 16:22
2番目の出力結果は hoghoge ではなく あくまでも"hoge\bhoge"です
ただ\bによりカーソルが1つ戻ってeが見えないだけですよ。


13 名前: 11じゃないけど 投稿日: 2000/08/11(金) 16:31
そっか、\bは[BS]じゃなくて[←]だったのか。(概念的に)
勉強になりました。

#java知らないんで、俺も理由がわからなかったのよん


14 名前: 13 投稿日: 2000/08/11(金) 16:38
>java知らないんで
単に、試せなかっただけです。

Cでも試してみたら、同じ結果でした(Win)。
ボケてました。すみませんです。


15 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 17:05
変数名の一番始めの文字や一番最後の文字でアンダーバー_を使うときの
技術者の意図を教えて下さい。VBからJAVAに転向してきたばかりの私は
たじろぐばかりです。

例>変数名の最後に_を使っている例。_が初めにある場合についても知りたいです。

public class Company {
public Company(Owner owner, Account account) {
owner_ = owner;
account_ = account;
}

public void addEmployee(Person person) {
employee_.addElement(person);
}

private Person owner_;
private Person account_;
private Vector employee_ = new Vector(); // Vector
}


16 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 17:17
_がはじめについているのは、C言語でこれはコンパイラ(システム)独自の
関数だよ〜ということを示すための関数に使われていることが多い。

最後についているのは知りません。
ただ、そのソースを見る限りではこの変数はインスタンスであることを示すために
つけているものと思われます。
(ちょっと用語があやしい・・・)


17 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 17:20
C++の場合だけど・・・
メンバ変数と一時変数(引数)の名前が、
普通に考えると同じになってしまうので、
最後にアンダースコアをつける流儀があると聞いた事が
あるような、ないような。


18 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 17:36
みなさん、ありがとうございました。
かなり納得しました。

それでは、ディレクトリ名の一番始めがドット.になっているものを
たまに見掛けますが、それはどのような意図によるものなのでしょうか?
質問ばかりですみません。


19 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 18:06
UNIX系のOSでは、ドットから始まるファイルは隠しファイルっす。
ディレクトリ名をドットから始める理由はしらないっす。


20 名前: UNIX野郎 投稿日: 2000/08/11(金) 18:46
Netscapeは.netscapeというディレクトリを作ります。このなかに
キャッシュとかクッキーとかその他もろもろの設定ファイルなどがあり
ます。そのファイルを手作業でいじることはあまりないので隠しディレ
クトリになってるんじゃないかなぁ?隠しだとファイルを見るコマンドls
にaオプションを付けないと見れません。通常はlsだけ。するとドットか
ら始まるファイルやディレクトリは見えない。


21 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/11(金) 20:23
英語で「コメントにする」「コメントをはずす」は、
"comment" "uncomment" でいいんでしょうか?
あと「コメント化」「非コメント化」という言い方ってあります?


22 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/12(土) 02:14
_で始まる名前は処理系が使うのでユーザーは使ってはならんことになっておったと思うが…?


23 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/12(土) 07:29
Javaでは、privateメソッドの頭に、_ を付けて書く流儀があります。
C の #define に相当するものがないので、これでも大丈夫です。



24 名前: delete this 投稿日: 2000/08/12(土) 07:40
って、OKでちゅか?


25 名前: >23 投稿日: 2000/08/12(土) 08:12
あったっけ、そんな流儀?


26 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/12(土) 10:17
ないでしょ


27 名前: cafe 投稿日: 2000/08/12(土) 12:51
VBよりVCの方が速いようですが、なぜなんでしょうか?
たいして違わない気もしますが。


28 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/12(土) 14:32
VC=ネイティブ
VB=仮装マシン
VBはちょっと違うが、こんなイメージでいいとおもうよ。


29 名前: 23 投稿日: 2000/08/12(土) 14:33
×流儀
○流派
鬱だ仕事しよ


30 名前: >27 投稿日: 2000/08/12(土) 14:39
単純な演算とかさせるならVBもネイテブコードを吐かせられますから
そんなに変わらない場面もあると思います
ただVBだと単純な整数で良い所にvariantを使ってしまう
コントロールや外部DLLをどうしても使う
VBの便利な構文の多くは遅い


31 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/12(土) 17:15
・・・ギコ出てこないなぁ


32 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/12(土) 19:26
コミケ遠征組なんだろ。わらぃ


33 名前: 新米ギコ@遠征はしない 投稿日: 2000/08/12(土) 23:31
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< >>9 無理モナー
  (    )  \_____
  | | |
  (__)_)
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ΛΛ    < 余計な手間取らすなゴラァ!
(゚Д゚Λ)_Λ  \____________
( ̄⊃ ´∀`)
| | ̄| ̄
(__)_)
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>10 sageの意味が一意だと思ってる君は逝ってもらいたい
Π ̄ ̄ ̄| \
|つ 晒し ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>10 最近はhageがトレンドだ!
Π ̄ ̄ ̄| \
|つ ほげ ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪


34 名前: 新米ギコ@遠征はしない 投稿日: 2000/08/12(土) 23:37
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>13-14 勉強あるのみ、そして逝け!
Π ̄ ̄ ̄| \
|つ 騙れ ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>15 単なる名前だ! つーか、書いたやつにキケ!
Π ̄ ̄ ̄| \
|つ フメイ ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>18 どっとこむといっしょでトレンドだ!
Π ̄ ̄ ̄| \
|つ 隠し ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>21 out of コメント!
Π ̄ ̄ ̄| \
|つ *アウト ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪


35 名前: 新米ギコ@遠征はしない 投稿日: 2000/08/12(土) 23:47
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>24 ギコbasicだと、 イッテヨシ ジブン!
Π ̄ ̄ ̄| \ ツーカ、分かって使うならヨシ!
|つ ウソ ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) <  >>27 コンパイラとインタプリタの違いを
Π ̄ ̄ ̄| \    レポート用紙300にまとめて提出だ!
|つギコンパ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) <  >>29 鬱は病気だ! 病院へ逝け!
Π ̄ ̄ ̄| \  
|つお疲れ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) <  >>30 休日の昼間にPCの前に入るな!
Π ̄ ̄ ̄| \  
|つ ヒッキー ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪


36 名前: 新米ギコ@遠征はしない 投稿日: 2000/08/12(土) 23:51
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) <  >>31 ネコは入れん! ニャ-
Π ̄ ̄ ̄| \  
|つネコデス()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) <  >>etc 解決解答御苦労様!
Π ̄ ̄ ̄| \  
|つ 感謝 ()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪


37 名前: しー 投稿日: 2000/08/13(日) 08:47

     __  オハヨ
     J_†_|__   
    /(*゚Д゚)/)/\
  /| ̄∪∪ ̄|\/
    |   ╋   |/
     ̄ ̄ ̄ ̄ 


38 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/13(日) 18:20
なんだ、やっぱり荒らしてるだけじゃないか。


39 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/13(日) 21:07
mentaiが落ち杉です・・・どうしたらよろしですか?
・・・あとメインのとこも・・


40 名前: 新米ギコ 投稿日: 2000/08/14(月) 00:15
    ∧ ∧         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ̄ ̄( ゚Д゚) ̄ ̄|   <  >>37 おやすみ!
|\⌒⌒⌒⌒⌒⌒\   \
|  \           \    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\  |⌒⌒⌒⌒⌒⌒|
  \ |_______|

  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>38 mentai落としたのも俺の仕業だ!
Π ̄ ̄ ̄| \
|つ ハカー ()   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>39 2ch卒業だ!
Π ̄ ̄ ̄| \
|つ 蛍ノ光()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪



41 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/14(月) 01:56
>40
2ちゃんがDOSアタック食らってたってのホントだったの?


42 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/14(月) 13:18
なんかこっちのほうが雑談板になってるなあ。


43 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/14(月) 17:16
class ArrayArgument {

public static void main(String args[]) {

// 変数を初期化する
int x[] = { 11, 12, 13, 14, 15 };

// 変数を表示する
display(x);

// メソッドを呼び出す
change(x);

// もう一度変数を表示する
display(x);
}

public static void change(int x[]) {
int y[] = { 21, 22, 23, 24, 25 };
x = y;
}

public static void display(int x[]) {
for (int i = 0; i < x.length; i++)
System.out.print(x[i] + " ");
System.out.println("");
}
}

これの出力結果は

11 12 13 14 15
11 12 13 14 15

こうなるのですが、

なぜ

11 12 13 14 15
21 22 23 24 25

にならないのですか?


44 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/14(月) 17:17

11 12 13 14 15
11 12 13 14 15

こうなるのですが、

なぜ

11 12 13 14 15
21 22 23 24 25

にならないのですか?


45 名前: むふ〜ん 投稿日: 2000/08/14(月) 18:44
君はスコープの意味がわかるかな?

changeメソッドで変化したのはメソッドに渡した配列であって、
元の配列xは変化しません。

11 12 13 14 15
21 22 23 24 25
こう表示したいなら
class Test{
public static void main(String[] args){
/*String t = "1,2,3,4,5";

StringTokenizer st = new StringTokenizer(t,",");
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
}*/

// 変数を初期化する
int x[] = { 11, 12, 13, 14, 15 };

// 変数を表示する
display(x);

// メソッドを呼び出す
x = change(x);

// もう一度変数を表示する
display(x);
}

public static int[] change(int x[]) {
int y[] = { 21, 22, 23, 24, 25 };
x = y;
return x;
}

public static void display(int x[]) {
for (int i = 0; i < x.length; i++)
System.out.print(x[i] + " ");
System.out.println("");
}
}



46 名前: むふ〜ん 投稿日: 2000/08/14(月) 18:46
を、さっきの検証プログラムがコメントに入ってるな。
むはは。


47 名前: >45 投稿日: 2000/08/14(月) 19:52
つーか、changeの引数xの意味は何ね?
むしろ、これじゃこのメソッド自体無意味。

ってか、Javaはよく知らないのだが、参照渡しは出来ないのか?


48 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/14(月) 20:16
>changeメソッドで変化したのはメソッドに渡した配列であって、
>元の配列xは変化しません。

でも、こうすると、

public static void change(int x[]) {

x[0] = 21;
x[1] = 22;
x[2] = 23;
x[3] = 24;
x[4] = 25;

}

出力結果は、

11 12 13 14 15
21 22 23 24 25

になるんですよ。


49 名前: >48 投稿日: 2000/08/14(月) 23:06
それはポインタの指している先の内容を書き換えてるからです。
xを書きかえるのとxの指している先を書きかえるのとの違いです。


50 名前: むふ〜ん 投稿日: 2000/08/15(火) 00:34
Javaでは参照による値渡しは出来ません。
>むしろ、これじゃこのメソッド自体無意味
そう、まさにそのとおり。
質問者によくわかるように彼のテンプレートをそのまま使ったんだけどね



51 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 03:09
>50
「参照による値渡し」の説明をおねがいしたいのですが。


52 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 03:44
Javaは全てにおいて値渡し。
オブジェクトを渡しても、渡されるのは参照ではなくて
参照の値なのですなぁ〜〜(~¬~)


53 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 05:34
>52
それは、Cのように参照渡しはポインタの値渡しで解決しているという
ことですか?
マシン語レベルまで行くと、どっちみち、参照渡しといっても、アドレ
スなど、具体的な値を渡さなくちゃいけませんが、そういうレベルの話
ですか?



54 名前: 53 投稿日: 2000/08/15(火) 05:41
あと、オブジェクトを渡す場合は普通、参照を渡すんでなくて、値
を渡すと、私の場合は思うんですけど、Javaはオブジェクトを渡す
ときも参照渡しなんですか?
参照渡しと参照の値渡しを区別しないでの話ですが。

なんどもすいません。よろしくお願いします。


55 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 06:20
Cの参照渡しはアドレス渡し。
[ポインタ]→[実体]
このポインタ渡す時に渡される引数は
[引数]→[実体]
な関係

Javaでのオブジェクト変数はオブジェクト実体への参照
[オブジェクト変数]→[実体]
このオブジェクトを引数に渡す時、引数は
[引数]=[オブジェクト変数の値のコピー]→[実体]
なわけ

違ってたらスマソ


56 名前: 55 投稿日: 2000/08/15(火) 06:23
あ、上の[オブジェクト変数の値のコピー]っていうより
[オブジェクト変数が指す実体へのアドレスのコピー]のほうがいいかも


57 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 06:27
class MyObject{
  int a;
}
public void f(MyObject obj){
  obj=new MyObject();
}
↑全くの意味なし(w

public void g(MyObject obj){
  obj.a=5;
}
↑これは意味ある。


58 名前: 53>55 投稿日: 2000/08/15(火) 06:42
なるほど、よくわかりました。
ありがとうございます。

Cのほうの説明は、Cの参照渡しはポインタをつくって渡しますから
foo(&var);
としたとき
[仮引数用に作られたポインタ]→[var]
[引数]=[仮引数]→[var]
ということになるでしょうか。あと
int* p, v; p=&v;
foo(p);
も、Cの場合は参照渡しというふうに呼ぶこともあるので、って、話
がそれちゃいますね…

Javaの場合は、変数が参照なので(一般にバイトコードは、整数型
などは変数が直接値を持っているおもいますが)いわゆる値渡しと
いうのは考え方が存在しないわけですね。


59 名前: 53 投稿日: 2000/08/15(火) 06:50
>57
その例の場合、f()は、参照のコピーを渡す場合も、ポインタの値を
渡す場合も、値をわたす場合も意味が無いってことですね?

f()に意味があるとすれば、Cの場合は変数へのポインタの参照
(つまりポインタへのポインタ)が渡ってきた場合と、C++で言う
参照が渡ってきた場合、ということでしょうか。


60 名前: 55 投稿日: 2000/08/15(火) 06:58
Cだとそんな感じですかねぇ・・

Java では57の例のようにメソッド内で仮引数の参照を変えるような
ことをしなければ問題はあまり起こらないですねぇ〜〜
だから値渡しとか参照渡しとかいちいち考えなくて良いのが楽です( ̄ー ̄)

配列もオブジェクトなので、そこらへんは始めは迷うところですよね〜〜
でも、Javaでもたまに参照渡しできたらいいなぁと思うこともありますよ。
オブジェクト生成を含めたコードを一括して処理したい時とかね〜〜


61 名前: 55 投稿日: 2000/08/15(火) 07:01
57のはCだと意味ありますよ〜〜
f(int *p){
  *p=3;
}
とかだったらね〜〜

・・・Cは地震がないけど


62 名前: 53>55 投稿日: 2000/08/15(火) 07:02
なるほど、すっきりしました。
ありがとうございました。


63 名前: 53>61 投稿日: 2000/08/15(火) 07:04
57の例を61に置きかえると
f(int*p){
 int v;
 p=&v;
}
って感じでかんがえてました。


64 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 11:17
public void f(MyObject obj){
  obj=new MyObject();
}

このようにこの中でnewすると、全く別のobjになって
MyObject objの宣言がローカル変数の宣言と化すという意味ですか?

----------------------------------------------------------

public void g(MyObject obj){
  obj.a=5;
}

これは参照渡しではないのですか?



65 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 11:58
VC++での質問なんですが、スクロール可能なビューに動的に生成された
エディットボックスがいくつか配置されており、それらのエディットボッ
クスの間はタブで移動することが出来るとします。
このとき、タブでフォーカスを与えるコントロールが現在の表示領域の
外にあることがありますが、それを検査し、ビューをスクロールしてそ
のコントロールを表示領域内に表示する方法を教えて欲しいのですが。

VC++6.0ProSP4 + NT4.0でMFCを使って開発してます。

ところで、この質問に関する愚痴。
別に、読まなくてもいいですが、暇ならどうぞ。
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=951366463&st=249&to=249&nofirst=true


66 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 14:04
MFCでCRegKeyクラスを使うときって、
どうすれば良いのですか?


67 名前: >66 投稿日: 2000/08/15(火) 14:19
「どうすれば」と訊かれても、何をどうしたいのですか?


68 名前: 66>67 投稿日: 2000/08/15(火) 16:39
申し訳ありません。
このクラスをどう使うか分からなかったので(クラス自体理解がいまいち)、
こんなことを書きましたが、これじゃ分かるわけありませんね。
すみませんでした。
申し訳ついでといってはなんですが、
今、出てきた疑問点を質問させて下さい。
CRegKey::SetValueを使用してレジストリにバイナリで
書き込むにはどうすれば良いのでしょうか?
DWORD値や文字列では書き込めたのですが。




69 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 17:14
>>65
コントロールをサブクラス化して
WM_SETFOCUSが来たら親にメッセージを送るってのは駄目なん?


70 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/15(火) 17:26
昨日からC言語を勉強しはじめました。
time(&start);
time(&end);
jikan = end - start;
としても、小数以下が計算されません。
start,end,jikanをfloatで定義すると怒られます。
どうやったら10.25秒、といったカタチで得られるのですか?


71 名前: >70 投稿日: 2000/08/15(火) 17:29
time()で得られる time_t 型の時刻は1秒単位です。


72 名前: 70 投稿日: 2000/08/15(火) 17:35
なるほど…。
それならば別の関数を利用しないといけないんですね。
標準ライブラリの中でそれの出来そうなものが、ぱっと見て
見つけられません。

もう少し考えてみます。
分からなかったらまたよろしくお願いします。


73 名前: >71 投稿日: 2000/08/15(火) 17:37
昔はそうだったけど、今はそうとは限らないようです。

>>70さんは環境を書いた方が適切なコメントが得られるかもしれません


74 名前: 70 投稿日: 2000/08/15(火) 17:58
>73さん

ありがとうございます。
私の環境は、VC++の一番安い奴の学割版です。
環境ってこのことでいいのでしょうか?

いまMSDNライブラリという奴を眺めていたら_ftimeというのが
なんとなくそれらしく思えてきました。
ちょい頑張ってみます。


75 名前: 70 投稿日: 2000/08/15(火) 18:00
あぁ、でも標準ライブラリっていう奴じゃないのかな。
使わない方がいいものなんでしょうか?


76 名前: 新米ギコ 投稿日: 2000/08/15(火) 18:20
    ∧ ∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (, ゚ 3 ゚)  < >>75 何事も経験、逝ってよし!
  ヽ/ つ旦)~~  \_____________
  (_ __)
     ^


77 名前: 65 投稿日: 2000/08/15(火) 18:31
実は、他人が作ったプログラムだったりしたんですが、よく見たらエディット
コントロールではなくリッチエディットコントロールになってた。

>69
取りあえず、そんな感じでやってみてます。
ただ、親にメッセージを送る、ではなく、コントロールのイベントハンドラ
で直接処理してるような感じですが。
これで、何か問題あるなら教えて下さい。

ところで、基本的にMFCは嫌いだけど、派生により容易にサブクラス化が出
来るのは楽でいいね。


78 名前: 73>70 投稿日: 2000/08/15(火) 19:02
それならclock(void);がたぶんあると思います


79 名前: 70>78 投稿日: 2000/08/15(火) 19:34
ありがとう。満足行くように動きました。
感謝です。


80 名前: 65 投稿日: 2000/08/15(火) 21:32
取りあえず、解決しました。
足し算と引き算を間違えてえらい目に遭ってたけど。

教訓:
デバッガをよく活用しよう。
頭の中だけで計算しようとしないこと。


81 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/16(水) 21:33
エクセルでセルにABCと入力して次に
違うセルにAとだけ入力すると勝手に
BCが反転表示で付け足されます。

このような機能をVBでやりたいのですが
教えてください。



82 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/16(水) 22:42
それの何を教えてほしいのかはっきりさせなさい。


83 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/16(水) 23:32
>82

誰に言っているのかはっきりさせなさい。(なんちて)



84 名前: スタックダンプって 投稿日: 2000/08/17(木) 11:17
デバッガさんに言われるのですが、どういうことなのでしょう?


85 名前: 新米ギコ 投稿日: 2000/08/17(木) 12:21
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>84 デバッガさんがきちんと仕事してるっつーことだ!
 UU ̄ ̄ U U  \_____________


86 名前: 未練 投稿日: 2000/08/17(木) 14:27
昨日あった「知り合いに管理頼んでたんだけど外国いっちゃうので誰かおねがい」スレ
どこいった?きえたのかな。


87 名前: 新米ギコ 投稿日: 2000/08/17(木) 15:46
 ∩ ∩
 | ∪ |
 |  〜
 | ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | i ,,゚Д゚) <  >>86 http://mentai.2ch.net/test/read.cgi?bbs=prog&key=966411771
 U U    \________


88 名前: 未練 投稿日: 2000/08/17(木) 16:10
あ、あっちの板だったのか、スマソ


89 名前: 名無しさん 投稿日: 2000/08/17(木) 19:09
マルチスレッドな状態で、同じプロセス内の他のスレッド(ウィンドプロシージャ
のあるスレッド外)から、コモンコントロールへSendMessageするとデットロック
してしまいますが、このような使い方はしてはいけないのでしょうか?
また、回避するにはどうすれば良いのでしょうか?ちなみにPostMessage
では戻り値が使えないためNGです。


90 名前: >89 投稿日: 2000/08/17(木) 19:30
>指定されたウィンドウが呼び出し側のスレッドで作成されているとき
> ウィンドウ プロシージャはサブルーチンとしてすぐに呼び出されます
>指定されたウィンドウが異なるスレッドで作成されているとき、
> Windowsはそのスレッドに切り替え、 適当なウィンドウ プロシージャを
> 呼び出します
とあるので、それだけが悪いんじゃないように思います。具体的にはどうしたのですか?


91 名前: >90 投稿日: 2000/08/17(木) 19:54
たとえば

class CAAA {
CListBox m_ListBox;
};
====

UINT ThreadProc(LPVOID lpParam)
{
(CAAA*) pAAA = (CAAA*)lpParam;
char str[64] = "STRING";

while(1) {
pAAA->m_ListBox.AddString(str);
Sleep(100);
}

}

ってやるとロックしませんか?
※スレッドから抜けられなくなるのは分かってて書いてます。


92 名前: 91>90 投稿日: 2000/08/17(木) 19:58
すみません、ウソ書いてるみたいです。
もうすこし、整理してきます。


93 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/18(金) 04:30
意味わからん


94 名前: 教えてファイルロック 投稿日: 2000/08/18(金) 04:30
CGI板のスレを見ましたが、Cでファイルロックする方法がイマイチわかりませんでした。
で、結局こんなコードを書いています。(エラー処理は捨象し、SIGTERM以外の終了
シグナルは考えない)

#include <stdio.h>
#include <signal.h>
#include <unistd.h>

#define LOCKFILE "mylock"
#define DUMMYNAME "dummy"

int main(void);
void clearout(int sig);

int lockkeep;

int main(void){
lockkeep = 0;
signal(SIGTERM, clearout);
while(symlink(DUMMYNAME, LOCKFILE));
/* gap */
lockkeep = 1;

/* critical */

remove(LOCKFILE);
return 0;
}

void clearout(int sig){
if(lockkeep) remove(LOCKFILE);
exit(1);
}

ですが、/* gap */ で示したところでSIGTERMが発生した場合にデッドロック
します。もしくは /* critical */ の部分でも、ハンドリングできないシグ
ナルを受信するなどしてプロセスが死んだ場合にもデッドロックしてしまいます。
もちっとマシなコードにするにはどうすればいいですか?


95 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/18(金) 12:07
class ExceptionBase{
.....
}
class ExceptionA : public ExceptionBase{
....
}

void hoge()
{
throw new ExceptionA;
}

int main()
{
try{
hoge();
}catch(ExceptionBase* e){
....
}

とした場合、hogeで投げた new ExceptionA はメモリリークには
ならないのでしょうか?



96 名前: >95 投稿日: 2000/08/18(金) 12:15
なるんじゃない? 電源onでズッと使わないアプリで、
めったに投げないならリークしても問題無いだろうけどね。
だから手を抜いてもいいとは思わないけど、まあ忘れても軽症かな

で、正しいやり方は知ってる?


97 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/18(金) 13:05
参照で受けるのが王道じゃなかったか?
EffectiveC++辺りに何か書いてあったぞ。


98 名前: 95>96,97 投稿日: 2000/08/18(金) 13:40
>で、正しいやり方は知ってる?
知らないです。
参照でやろうとしたらキャストがうまくいかず、
ここで聞いてしまいました。
EffectiveC++は持っているので、どの辺に書いてあるのか
教えていただけたら嬉しいです。




99 名前: 95 投稿日: 2000/08/18(金) 13:43
Javaみたいにやりたいんですけどダメですかね…



100 名前: 97 投稿日: 2000/08/18(金) 14:43
ん〜、今手元にないからな‥‥‥家帰れば分かるんだけど。
Moreの方だったかもしれない。
例外辺りで索引漁ってみるといいかも。


101 名前: _finefirstって 投稿日: 2000/08/18(金) 15:20
_findfirst使っているファイルと同じフォルダしか探しに行かないのでしょうか?
それともマシン全体を探し回ってくれるの?


102 名前: 96 投稿日: 2000/08/18(金) 15:57
class MyErr{public:int no; MyErr(int n){no=n;}; };
int main(int argc,char *argv[])
{
try{
 switch(*argv[1])
  {
  case '1': throw 1;//エラじゃなくてトラップ機構を使いたい場合は整数型が楽
  case '2': { throw MyErr(2); };   //参照渡しの場合
  case '3': { throw new MyErr(3); }; //ポインタ渡しの場合
  }
  }catch(const int ErrNo){printf("%d",ErrNo);}
  catch(MyErr const &Err){printf("%d",Err.no);}
  catch(MyErr *Err){printf("%d",Err->no) ; delete Err;};//deleteが必要
return 0;
}


103 名前: >101 投稿日: 2000/08/18(金) 16:01
ええと、その_findfirstってDOS? ならそのディレクトリだけだろね


104 名前: 95>96 投稿日: 2000/08/18(金) 16:47
ありがとうございます。解決しました。

#include<iostream>
using namespace std;

class ExceptionBase{
public:
    int no;
    ExceptionBase(int n){no = n;}
};

class ExceptionA : public ExceptionBase{
public:
    int no2;
    ExceptionA(int n,int n2):ExceptionBase(n){no2 = n2;}
};

void hoge(void){
    throw ExceptionA(10,20);
}

int main(void){
    try{
        hoge();
    }catch(ExceptionBase e){
        cout<<"1:"<<e.no<<endl;
    }
    return 0;
}



105 名前: 96>104 投稿日: 2000/08/18(金) 16:55
うーん。 コピーしてるんだね 駄目とは言わないけど コピーコンストラクタはどうするの?


106 名前: 96 投稿日: 2000/08/18(金) 17:05
ええとチョット詳しくね
  catch(ExceptionBase e)の所でコピーされるのは判るよね?
 この時、デフォルトのコンストラクタが呼ばれる。
 >>104は問題なさそうだけど、そのままにしとくと問題出そうでしょ?
 だから参照で渡しとく方が安全だよ


107 名前: 97>95 投稿日: 2000/08/18(金) 17:49
手元にEffectiveC++はありますか?
あれば、直接自分で探してみるといいと思いますが。


108 名前: 95>96,97 投稿日: 2000/08/18(金) 23:19
中途半端なところで出来た気になってましたね。
参照渡しにしてもう一度試してみたところ、ちゃんと動いてくれました。
コピーコンストラクタが無い時の動作ってのがよく分かってなかったので、
家に帰ってきてEffectiveC++で調べてみたら……。危ないところをでしたね。
メモリリークがどうのって言ってたのに、これじゃアホみたいですね。
ありがとうございます。本当に助かりました。

ついでに今回気づいたことなんですが、throwする時、参照渡しでもBCCとg++では
コピーコンストラクタが呼ばれました(VC++では呼ばれませんでした)
これは、どちらの動作が正しいのでしょうか?

何度も質問してすいません。



109 名前: C言語初心者 投稿日: 2000/08/18(金) 23:38
ウインのアプリをつくりたいのですが、開発環境は何が良いですか?



110 名前: Kll pop 投稿日: 2000/08/19(土) 00:00
109
>C言語初心者
VB がラクダと思う


111 名前: 新米ギコ@逝っちゃてます 投稿日: 2000/08/19(土) 00:09
    ⊂⊃
    ∧ ∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (, ゚д゚)  <>>109 とりあえず、財布の中身と、頭の中身を見せてみ!
  ヽ/ つ旦)~~  \_____________
  (_ __)
     ^ 


112 名前: しー 投稿日: 2000/08/19(土) 02:19

          箱ノ中身?
       ∧_∧
     _(゚д゚*)__ 
    /|  ∪∪ /\
  /| ̄ ̄ ̄ ̄|\/
    |  しぃ  |/     
     ̄ ̄ ̄ ̄ 


113 名前: 109 投稿日: 2000/08/19(土) 12:17
財布の中身は10万くらい。
プログラム初心者。


114 名前: 新米ギコ@野生 投稿日: 2000/08/19(土) 13:37
    ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (, ゚д゚) < >>112 うわ〜、すごいもん入ってるな
  ヽ/   |   \_____________
  (__∪∪)

   ∧ ∧   /
   ( ゚Д゚)< >>113 壱萬円(学割)でBCBを買って残り九萬円でc,c++,BCBの本を買えるだけ買え!
    |つ つ  \BCB 参考URL http://www.inprise.co.jp/cppbuilder/index.html
  〜   |
   ∪ ∪


115 名前: >109 投稿日: 2000/08/19(土) 17:13
コンパイラ
 http://www.inprise.co.jp/cppbuilder/freecompiler/
使用解説ページ
 http://www.neco.nu/gohodoji/bccfaq.html
技法
 http://www.kumei.ne.jp/c_lang/
 http://tokyo.cool.ne.jp/masapico/


116 名前: ヒヨっこ 投稿日: 2000/08/19(土) 18:48
C言語の開発環境の質問しようと思ったけど・・。
115さんのリンク先の見てみます。


117 名前: >108 投稿日: 2000/08/19(土) 22:19
(More)Effective C++に載ってると思うけど、
throwするときは確かコピーコンストラクタが呼ばれるほうが正しいはず。
値渡しだと2回呼ばれてしまう(だったと思う)。


118 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/20(日) 01:00
ゲームボーイのソフト(エミュじゃない)を作ろうと思うんですが、
過去に任天堂とかになんか言われたりしたことあるんですかね?
売ったりしたらまずいと思うんですが、オンラインで公開程度だったらどうなるのでしょうか?

ギコ猫、教えろ。


119 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/20(日) 01:03
>118
やってみろ。問題が起きたとしても最初に来る
警告に従ってれば告訴はまずされないからさ。


120 名前: 108 投稿日: 2000/08/20(日) 05:03
>117
ありがとうございました。これでスッキリしました。
Moreの方は今度買ってこようと思います。



121 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/20(日) 05:04
教えて君で心ぐるしんんですが

Cで2次元配列を関数に受け渡しするにはどうすればいんでしょうか?
ポインタわたすのは解るんですが・・・
いつも解らず結局1次元配列になおしてコーディングしてるんですが
めんどくさいです

void foo(int *)

main(){

foo(&(array[0][0])); //だめな例
foo(array); //だめな例

}

void foo(int array[10][10]){
}

じゃだめなんですよね・・・


122 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/20(日) 05:25
void foo(int (*array)[10])


123 名前: 名無しさん@1周年 投稿日: 2000/08/20(日) 05:38
void *でもらってキャストして使うってのは…


124 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/20(日) 06:25
void foo(int [][10]);
int array[10][10];
main()
{
 foo(array);
}


125 名前: 109 投稿日: 2000/08/20(日) 10:58
BCBのプロフェッショナル買ったらまずいですか?


126 名前: 121 投稿日: 2000/08/20(日) 11:45
たくさんのレスありがとうございました
124の方法で解決しました
他の方法を提案してくださった方にも感謝します


127 名前: 121 投稿日: 2000/08/20(日) 12:06
あれ?
もしかして124の
int array[10][10];
は大域変数ですか?


128 名前: 121 投稿日: 2000/08/20(日) 13:05
大域変数ってわけでもないですね
でも、関数に受け渡たした変数を参照すると
途中まであってるのに途中から
セグメンテーションエラーがでる・・・



129 名前: >118 投稿日: 2000/08/20(日) 14:17
>ゲームボーイのソフト(エミュじゃない)を作ろうと思うんですが、

エミュレーターではないとのことなので、ROMを作るということですよね?
おそらく任天堂とライセンス契約を結ぶ必要があるのではないでしょうか。
ROMは任天堂を経由して作られ、作られたROMは買取り制となります。(売れ残ったら自分の責任)
あと任天堂によるゲームの審査もありますので気をつけてください。
費用はいくらかかるのかは知りません。安く見ても数千万は必要でしょうね・・・



130 名前: >129 投稿日: 2000/08/20(日) 14:34
多分、こういうことでしょ
members.tripod.com/~TeamKNOx/gameboy/gb_cartj.html


131 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/21(月) 14:57
SQLの質問はどこでしたらいいんですか?
グラマ板では叩かれているけど
ギコ教えて♪キャハ♪




132 名前: >131 投稿日: 2000/08/21(月) 15:02
タイトルにSQL関係QAとか書いて、自分でスレたてよ
質問内容は2レス目に書いてね


133 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/21(月) 16:18
VC6.0Sp4のCDialogベースのMFCアプリで、ダイアログエディタで張り付けた
ボタンとかダブルクリックすると、「新規メンバを追加できません。」って
でるんだけど、どーすりゃえーのよ?


134 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/21(月) 17:57
クォータニオンについて書かれている、良い「文献」、御存知でしたら
ぜひ教えて下さい。今日中規模書店(しかない)でみてきたのですが
見つからなくて・・数学関係じゃないのかなぁ、そんなわけないよなぁ。


135 名前: >133 投稿日: 2000/08/21(月) 18:08
へんだな。普通ならうまくいくけど。


136 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/21(月) 18:13
XMIについて説明してある日本語のサイトってありませんか?
OMGにある仕様書だけじゃわけわからん。



137 名前: 悪魔くん 投稿日: 2000/08/21(月) 18:58
Cで引数不定長の関数って作れます?

foo(hoge,1,2,3);
foo(hoge2,10,11,12,13,14);

みたいな。
教科書には書いてないんだけど、 argv,argc 使うのカナ?
(コマンドライン引数じゃないってか(笑))


138 名前: 悪魔くん 投稿日: 2000/08/21(月) 19:16
>137 自己レス

foo(int hoge, unsigned char *n, ... )
{
x = n[i]
}

ですな。
すんまそん。 stdio.h 読んだら分かることだった・・・。


139 名前: >135 投稿日: 2000/08/21(月) 19:54
普通はうまくいきますが、なんかの拍子でこうなります。
引き続き情報きぼんぬ


140 名前: >138 投稿日: 2000/08/21(月) 19:55
うまくいくかもしれないが、ちがうぞ


141 名前: 悪魔くん 投稿日: 2000/08/21(月) 19:56
>140
うまくいきませんです(藁
考えが甘かった・・・。


142 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/21(月) 21:09
つーか、本物の悪魔くんなのかなぁ
まあ、大抵のシステムで、
foo(int hoge, ...)
{
  data = *(&hoge + i);
}
で動くと思うけど、普通に考えたら
va_list ap;
va_start(ap, hoge)
va_arg(ap, int)

va_end(ap)
だよね。
あ、厳密な使い方はうろ覚えだから。
stdarg.hでも読んでちょ。


143 名前: 悪魔くん 投稿日: 2000/08/21(月) 21:10
varargs.h で va_dcl やらやってもあきまへん。
型は固定なんだけどなー。
参考資料が見つからないやう。



144 名前: 可変個引数の実装には 投稿日: 2000/08/21(月) 21:13
va_list,va_start,va_arg,va_end を使うのが正解っス。
具体的にはこんな感じっス。(K&R日本語訳第2版7章3節参照)

func(int hoge, ...)
{
 va_list ap; /*引数へのポインタ*/

 va_start(ap,hoge); /* 注参照 */
 printf("%d",va_arg(ap,int)); /*引数取得&apを進める */
 va_end(ap); /*apを開放*/
}

注:
va_stratは、apが最初の「名無し」引数を指すように初期化。
最後の名前付き引数を利用する。



145 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/21(月) 21:27
VisualC++でユーザー定義キーワードとやらを定義するにはどうすれば
良いのでしょうか?要するにHINSTANCEとかもintとかと同様、青色表示
したいのです。御存知の方、教えて下さいませ。


146 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/21(月) 21:31
VCのキーボード配置を変えるのはどうすればいいの?TurboCみたいに
Ctrl+ ***でカーソルになるような配置にしたいんだけど。


147 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/21(月) 21:41
VC++でva_startの実装見てショック受けたの僕だけ?


148 名前: >145 投稿日: 2000/08/21(月) 21:54
自分でシコシコ書くより、これ使った方がえーでー
http://www.iseran.com/Win32/FAQ/keywords.html

ダウンロードしてmsdev.exeと同じディレクトリへコピー
色の変え方は、ツール→オプション→書式→色→ユーザ定義キーワード


149 名前: 悪魔くん 投稿日: 2000/08/21(月) 22:56
値は読んでいました。ええ、読んでいましたとも。
読んだ後にDMAがメモリをクリアしていましたとさ。

あぼーん>自分


150 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/22(火) 02:28
Blt関数の転送範囲指定のRECTって、右下の座標に
なんで+1しなきゃいけないの?
Windows以外もそうなの?


151 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/22(火) 03:15
Apple が Mac Toolbox を作ったときに決めた規則。
MS-Windows と X-Window がまねたことで支配的になった。


152 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/22(火) 08:16
>148さん
おお、これは凄いです。いやぁ、手間が省けました。
ネットでこんなに嬉しいのは久しぶりです。どうもありがとうございました。


153 名前: すまっぺ 投稿日: 2000/08/22(火) 19:36
どこに書けばいいのかわからなかったのだけど
The Windows CE eMbedded Visual Tools 3.0
の日本語版ていつ発売されるのでしょーか?
というかポケットPc用のって
Windows CE Toolkit for Visual C++ 7.0?の形で
リリースされるんでしょーか?



154 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/22(火) 22:15
Javaでテキストフィールドが30個あるクラスのテキストフィールドへのアクセスはどうしたら良いでしょうか?
なお、このテキストフィールドはそれぞれ独立しています。
(つまり、後で仕様変更されたときにも大丈夫なように単純に配列に入れると・・・死)

set&getメソッドを30個も作るのめんどいんで、publicアクセスにしちゃっていいでしょうか?


155 名前: 154 投稿日: 2000/08/22(火) 22:17
(つまり、後で仕様変更されたときにも大丈夫なように。単純に配列に入れると・・・死)



156 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/22(火) 22:19
Pixelって「点」じゃないから、ややこしいよね。
(0,0)-(1,1)のRectangleの幅(高さ)って 1? 2?



157 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/22(火) 22:30
QuickDrawの座標は、ピクセルとピクセルのあいだにあるんですね。(へんな日本語だ)
だから(0,0)-(1,1)は1x1ピクセル。


158 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/22(火) 22:35
C++の参照って何が便利なんでしょうか?
Cからはじめたので、
「普通にポインタでアドレス渡せばいいじゃん、ていうかそのほうが楽」
って思ってるんですけど・・・


159 名前: >158 投稿日: 2000/08/22(火) 22:39
演算子のオーバーロード


160 名前: >158 投稿日: 2000/08/22(火) 22:40
参照渡しのメリット

・ポインタ演算を抑制する
・あたかも実体の変数にアクセスしているようにコーディングできる

こんなもんかな。
まぁ、危険なポインタ演算なんか普通しないだろうし、
実体の変数にアクセスしているようにコーディングなんてできようができまいが
どうでもいいって言えばどうでもいいしな。



161 名前: >158 投稿日: 2000/08/22(火) 22:41
operator[]の戻り値


162 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/22(火) 23:26
>158
一般にNULLを使う場合はポインタ、そうでなければ参照。
  int& r = *((int*)NULL));
なんてコード書くやつはとどめをさしてよし。



163 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/22(火) 23:31
ポインタを変更しないときは参照で渡せ。笑い。


164 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 01:01
COMとか.NETって一体なんなんですか?(藁


165 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 01:10
グローバルなアクセス拠点を設けるためにはどんな方法がありますか?

・・・鬱だ、デザインパターンにあるかなぁ・・・


166 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 06:26
ブラウザのファイルアップロード機能について勉強したいのですが、
(具体的には、CGIやServletのPOSTメソッド)
MIMEとか、よくわかりません。
サーバに送られた画像ファイルとかは、復元(?)しなければ
いけないのですか?


167 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 09:51
質問があります。
動的にクラスの配列を宣言する為に

<Class Name> *pClass = new <Class Name>[<Array Size>];

とやったのですが、これをDeleteする時、

Delete [] pClass;

とやると、コンパイル時には全く問題ないのですが、
デバッグの時にAccess Violationエラーが出ます。
何故かについて手元の資料で調べてみたのですが分かりません。

確保した配列を越えたデータアクセスかもしれないという指摘もあったので、
Deleteする前にポインタのアドレスを1個分戻しても駄目でした。
(デバッグの時に、戻したポインタ先のデータが最後に放りこんだデータと
一致するのは確認しました)
このようなエラーが起こるのに、他にどのようなケースが考えられるでしょうか?
ちなみに使っているのはVC++6です。



168 名前: 新米ギコ@sage荒氏 投稿日: 2000/08/23(水) 10:01
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>125 高いの買って挫折すると痛いから止めとけ!
 UU ̄ ̄ U U  \_____________
#使いたい機能が入ってるなら買ってもいいかも知れないけどね
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>154 getメソッドで引数渡して何とかしろ!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>164 http://piza.2ch.net/test/read.cgi?bbs=tech&key=966837121&ls=50 でこっそり聞け!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>165 rootを乗っ取れ!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>166 httpのプログラム本があるからそれ買って勉強だ! 本のタイトルは忘れた(スマン
 UU ̄ ̄ U U  \_____________


169 名前: >167 投稿日: 2000/08/23(水) 10:25
どの時点でAccess Violationエラーが発生するのかわからないけど
そのクラスのポインタメンバ変数の扱いがおかしかったりしても出るからねえ。
まずはブレークポイントなどを使って、エラーの発生するところを絞り込む
ところからはじめてみては?


170 名前: >169 投稿日: 2000/08/23(水) 10:39
>Deleteする前にポインタのアドレスを1個分戻しても駄目でした。
まさかとおもうけど、そのpClassはnewで得た値のままdeleteしてますか?
うごかしてそうな書き方なので。


171 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 12:28
VBのFORMAT関数についての質問です。
下記のように書くと『08』が取得できるのですが
『20』を取得するにはどうしたらよいのでしょうか?
Format("2000/08/23 14:20", "MM")


172 名前: あでひのつ 投稿日: 2000/08/23(水) 12:40
>171
たぶん"mm"


173 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 12:45
>171
"MI"かも。


174 名前: 新米ギコ@荒氏 投稿日: 2000/08/23(水) 12:50
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>167 デストラクタはどう?
 UU ̄ ̄ U U  \_____________


175 名前: 171 投稿日: 2000/08/23(水) 12:57
>172
"mm"も"MM"も結果は同じでした。
>173
"MI"では『8I』が返ってきてしまいました。



176 名前: 新米ギコ@荒氏 投稿日: 2000/08/23(水) 13:26
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>171 へるぷに書いてないのか?
 UU ̄ ̄ U U  \_____________


177 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 14:04
AccessのVBAで質問です。
さまざまなツールバー(出来ればメニューバーも)全て使用不可&表示不可
にしたいのですが、どうすればよいかわかりません。多分、どこかのプロパティ
をfalseにすればいいんでしょうけど、どこだかさっぱりで。ナツメ社のVBA
ハンドブックもあたっているのですが今のところみつけられてません。

ギコ猫先生教えて下さいませ。


178 名前: きょきょ 投稿日: 2000/08/23(水) 15:00
VBのデータレポートで印刷の用紙サイズがA4で設定されてるんですけど
B4にしたいんです
だれかおしえてください。(涙)


179 名前: 171 投稿日: 2000/08/23(水) 15:33
>176
ヘルプに書いてありません。
大変困っていますので、わかるかた宜しくお願いします。


180 名前: > 171 投稿日: 2000/08/23(水) 15:47
"nn" です。


181 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 16:42
実はVBのFORMAT関数ってニューロ&ファジーが内蔵されている

right(Format("2000/08/23 14:20", "HH:MM"),2)



182 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 17:31
さらに1/fでゆらいだり・・・


183 名前: 171 投稿日: 2000/08/23(水) 17:34
>>181
ありがとうございました。助かりました。


184 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 19:37
どうやら、2004年には、10GHzのCPUが登場しそうです。
あたしはどうすればいいのですか?


185 名前: >184 投稿日: 2000/08/23(水) 20:04
どうもしなくていいです。
または、100GHzのCPUでも作って下さい。


186 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/23(水) 21:30
>184
もっと早いだろな。

早いの、好き?


187 名前: 167 投稿日: 2000/08/23(水) 22:26
速いレスありがとうございます。

>169

Deleteする時に発生してます。 デストラクタにとんで、その後エラーが出ます。


>170 & 174

恥ずかしながら勉強不足なのでよく分からないのですが、
Deleteする時に何か特にしなければならない処理などがあるのでしょうか?お手数おかけします。


188 名前: 新米ギコ 投稿日: 2000/08/24(木) 00:09
  ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (,,゚Д゚) < >>187 デストラクタのソースきぼー!
Π ̄ ̄ ̄| \
|つ ヲイヲイ.()    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
  ∪∪



189 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/24(木) 00:26
~2ch() {
  delete this;
}


190 名前: >187 投稿日: 2000/08/24(木) 00:38
つーかなんでVC++6.0つかってるのに
デバッガで変数の中身チェックしないの?


191 名前: >187 投稿日: 2000/08/24(木) 01:41
たとえば
ClassA pClass = new ClassA[2] ;
pClass++ ;
delete[] pClass ;
なんてやっちゃいけないよ、ってこと。


192 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/24(木) 02:26
プログラムに興味を持ったんですが何していいのかわかりません。
C言語やってろ
と言われたのですがそれもよくわかりません。
アドバイスください。お願いします。


193 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/24(木) 02:30
>192
「C言語」「入門」
この二つのキーワードを持つ本を買って勉強しなさい。


194 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/24(木) 02:32
簡素ですね
わかりました


195 名前: 名無しさん@お胸いっぱい。 投稿日: 2000/08/24(木) 02:32
>192
B木のISAMライブラリーなんかをCでスクラッチするのが
手ごろで面白いと思うぞ。


196 名前: >192 投稿日: 2000/08/24(木) 02:33
まずコンパイラを買ってね


197 名前: 187 投稿日: 2000/08/24(木) 03:29
>187
デストラクタのところには何も書いていないです。


>191
ああ、僕それやってます。
となると、配列へのポインタを動かした後は、
Deleteするまえに何をするべきなんでしょうか?


198 名前: >187(191は*忘れた) 投稿日: 2000/08/24(木) 03:45
ClassA* pClass = new ClassA[2] ;
ClassA* pTmp ;
pTmp = pClass ;
pTmp++ ; //とかいろいろ
delete[] pClass ;
要するにnewの時と同じ値をdeleteするんです。


199 名前: あでひのつ 投稿日: 2000/08/24(木) 08:13
>198
そりゃダメだって。


200 名前: 199 投稿日: 2000/08/24(木) 08:13
>198 じゃなくて >197 でした。ゴメソ。


201 名前: 質問君 投稿日: 2000/08/24(木) 14:56
最近msのVisualC++を使い始めた初心者なんですが
他のDCにCBitmapからビットマップをCDCで描画する時、
透明色を指定して転送先に描画したいんですけど、
CDCにそういうメンバが無いみたいなんですが
なにかいい方法がありますか?
CDCのGetPixelとSetPixelVを使って1ドットずつ
描いてみたりもしたんですけど処理が遅くてダメでした

擬古擬古


202 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/24(木) 15:04
VBでリストボックスに最大どのくらいのデーターが格納できますか?


203 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/24(木) 15:55
VCのヘルプをハードディスクに入れてないとき
ハードディスクに入ってない部分を見ようとすると
CDをドライブに入れてくださいって出て来てCD入れると
ドライブにCD入ってるのに入れてください入れてください
入れてくださいってダイアログが出てヘルプが見れないのは
なんでですか


204 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/24(木) 16:25
>>203
このスレッドでも言ったが、
http://piza.2ch.net/test/read.cgi?bbs=tech&key=967099921

理解できる日本語を書け



205 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/24(木) 16:33
>203
それはプチモニのCDです。もう流行ってないのでハネのCDにしましょう。


206 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/24(木) 23:56
厨房です。stringstreamの使い方を勉強中なのですが、どうやっても
メモリの漏れを防げません。deleteするだけではだめなのですね。
どうやったらきれいにdeleteできますか?
while(true)
{
char buf[1000000];
ostringstream *ostr = new ostringstream;
*ostr << buf;
ostr->str().assign("");
delete ostr;
}


207 名前: >201 投稿日: 2000/08/25(金) 00:27
マスクをかけましょう。


208 名前: 187 投稿日: 2000/08/25(金) 01:16
>197
ああ、やっとまともに動くようになりました。
ありがとうございました。
後学の為に、なぜnewで宣言したのと同じ値をDeleteしないと
Access Violationになるのかを教えていただくというのは甘え過ぎでしょうか?


209 名前: >208 投稿日: 2000/08/25(金) 03:14
そんなことをわざわざ教えなきゃならないと言うことに驚いてみたり。
取りあえず、君プログラマに向いてないかもしれません。転職することをお勧めしてみます。

で、AccessViolationになる理由ですが、少し自分で考えてみましょう。
ちょっと考えれば分かるはずだと思うんだがな。


210 名前: >208 投稿日: 2000/08/25(金) 03:20
違うものをdeleteしたらちゃんとdeleteできないんですよ。
そういうことが知りたいわけじゃないのかな‥?
newがどうやってメモリ確保を実現しているか解かりますか?
それがわかっていないようならそれ以上説明されてもわからないと思うな。


211 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/25(金) 05:00
>209
いくらなんでも、職業プログラマではないだろう。

>208
少なくとも、君がポインタを全く理解していないのは間違いない。
それどころか、変数の概念も理解しているか怪しいものだ。
君はおそらく
 delete pClass;
の後に、
 pClass = …;
とする事は出来ないと思っているのだろう。
「変数」と「変数の持つ値」がわかっていない。

もし、例外が起こる理由を本当に知りたいのならば、
「K&R」、もしくは「C言語によるアルゴリズムとデータ構造」の、
mallocの実装を読んでみるといい。
operator new/operator deleteの実装は、
malloc/freeの実装と大きな差はない。
上記の実装が理解出来れば、例外の理由も察しがつくだろう。

確かに、この程度の事を「自分で考える事をしない」人には、
プログラミングは向いてないかもしれないな。
ここにいる殆どの人は、好奇心の塊だ。
自分が納得できない時は、徹底的に動作を調べ原因を究明する。
他人に聞くのではない。自分で調べるのだ。

まあ、ポインタが理解できないだけなら、
Java等から入るのも良いかもしれない。
C/C++を学ぶ限りポインタの理解は必須だが、
プログラミングはC/C++が全てではない。


212 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/25(金) 05:22
お前偉そうだな。



213 名前: 197>208 投稿日: 2000/08/25(金) 05:56
「new,delete はそういう仕様になってるから」でしょう。
newで得たポインタ以外を使ってdeleteしようとした時の動作は「未定義」だったと思います。
Access Violationは、かならず出るわけでは有りませんが多くの場合、プログラムの
動作がおかしくなるでしょう。
今のところ、そういうもんだと思っておけばいいんではないでしょうか。


214 名前: がくせいさん 投稿日: 2000/08/25(金) 09:12
operator new が operator delete に割り当てたメモリの量を知らせるには、
new が返すメモリの直前の位置に、割り当てたブロックのサイズを示すデータ
を付加するのが、一般的な方法だ。つまり、

Airplane *pa = new Airplane;

のように書いたとき、以下のようなメモリブロックが得られるとは限らず、

pa -> ---------------------------------------
      Airplane オブジェクトのためのメモリ

下記のようなメモリブロックが割り当てられることが多いのである。

      メモリブロックのサイズに関する情報
pa -> ---------------------------------------
      Airplane オブジェクトのためのメモリ


『Effective C++』改訂2版より。


215 名前: 新米ギコ@鬼畜 投稿日: 2000/08/25(金) 09:16
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>206 静的な配列で1000000は飛ぶぞ普通。 1000未満がキホソだ!
 UU ̄ ̄ U U  \_____________


216 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/25(金) 09:58
ClassA* pA = new ClassA[10] ;
ClassB* pB = (ClassB *)pA ;
delete[] pB ;
なんつーこともやっちゃいけません。


217 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/25(金) 15:05
誰か Video for Windows の cap〜系APIのリファレンスが
載ってる(できれば日本語の)書籍またはHPを知りませんか?
現在サンプルコードを見ながら、ビデオキャプチャプログラムを
作っているんですが、これらのAPIの働きがさっぱりわかりません。
誰かこの厨房に救いの手を…(ToT)/


218 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/25(金) 17:04
UNICODEを扱えるアプリを作りたいんですが(環境はNT, VC6)、
HelpにそってwWinMainCRTStartup、_UNICODEなどを設定していて
コンパイルまでは問題ないんですが、なぜか、Runしてもメイン
ルーチンにさえ入らずにアプリが終了していまいます。ライブラリは
全部インストしてますし、MFCも使用になっているのですが・・・。



219 名前: >218 投稿日: 2000/08/25(金) 17:29
デバッガでステップ実行して、どこをどう通ってるか調べてみた?


220 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/25(金) 17:36
218です。さっそく答えてくださってありがとうございます。・・・と、調べてみますと
どこも通らずに即死状態でした。Testのためのアプリは、win32 cosoleアプリプロ
ジェクトMFC使用で、メイン文の入り際にwhile(true){}無限ループを入れている
だけのものです。何がまずいんでしょう・・・。デバッガはdllをロードしたあと
no matching symbolとか言ってますが・・・・


221 名前: 219 投稿日: 2000/08/25(金) 20:11
即死?? wWinMainCRTStartup ってのがよくわからないんだけど、
それも実行されてないわけ? ていうか、AppWizardの吐くコードって、
あと単に _UNICODE を define するだけでUnicode用になるのでは…(自信なし)


222 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/26(土) 01:05
ユニコードでビルドしてる?


223 名前: 208 投稿日: 2000/08/26(土) 13:17
ういす。 ありがとうございました。
性根入れ換えて、勉強し直すとします。


224 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/26(土) 15:21
別のディレクトリにあるファイルはどうやって読むのですか?
C言語、windows95or2000です。bcc使ってます。
例えばCドライブにあるhoge1ってフォルダにあるhoge2ってファイルを
開けるときは
fp = fopen("C:hoge1\hoge2", "r")
じゃ駄目なの?


225 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/26(土) 15:24
自己解決出来ました。
fp = fopen("d:\\hoge1\\hoge2", "r")
指定の仕方も違ったし、\は制御文字なんで2ついるんだね。
もう少し考えてから書き込めばよかった。。。


226 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/26(土) 15:34
\ じゃなくて / でもイケるよ。
たいていのライブラリは / もサポートしているよ。
/ で書いておいたほうが移植性がイイよ。



227 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/26(土) 15:48
>226
ありがとうございます、勉強になります。
そういうのを勉強したいんですけど、本とかサイトで参考に
なるところってありますか?
標準ライブラリ以外の関数とかって何で調べるんですか?


228 名前: >277 投稿日: 2000/08/26(土) 16:42
使ってる開発環境にヘルプは……ついてないか、bccじゃ。

Windows API とか SDK とか、そういうのをキーに
本なりサイトなり探すのがいいんじゃない?


229 名前: 間違えた >277 じゃなくて >227 投稿日: 2000/08/26(土) 16:42
 


230 名前: ヒヨっこ 投稿日: 2000/08/26(土) 21:07
Cソースをコンパイルしようとしたら、

Error: 外部シンボル '_prinft' が未解決(C:\BCC\SANP.OBJ が参照)

って言われました。どうすりゃいいですか?


231 名前: 名無し様 投稿日: 2000/08/26(土) 21:17
>230

Error: 外部シンボル '_prinft' が未解決なんだ。それは。


232 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/26(土) 21:24
int mian(int argc, char* argv[])を思い出す…


233 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/26(土) 21:53
titleと押そうとしてtilteをよくやる。
titleって名前を付けたつもりの変数が全てtilteで統一されてた
事がある。10箇所以上あったのに。。


234 名前: ヒヨっこ 投稿日: 2000/08/26(土) 22:39
>>231

どう解決すればよいですか?


235 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/26(土) 22:41
#define prinft printf


236 名前: >234 投稿日: 2000/08/26(土) 23:06
printf("hoge\n");
prinft("hoge\n");
何か違いませんかよーく見てみましょう。232,233はマジレスだよ


237 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/26(土) 23:26
>>234
とりあえず、C:\BCC\BIN\BCC32.CFGに
-w
の1行を加えておく事をお勧めします。
コンパイル時に警告が出るので、だいたいわかるようになります。


238 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 00:17
230はコンパイル時の警告がわからない話でないのか?


239 名前: 何でsageるの? 投稿日: 2000/08/27(日) 00:43
どうも話がつかめませんのでゴミレスを。
あれはどう見てもリンクエラーですよね(確認するまでもないけど)
したがってコンパイルは通ってるからprintfってちゃんと書いてると
思うんですが?



240 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 00:49
>239
ならリンクエラーでないだろ、普通。


241 名前: 239 投稿日: 2000/08/27(日) 00:54
>240
そうなんですよね、それが私も不思議なんですよ。
フツーにインストールしてフツーに環境設定してれば
こんなエラー出るはずないと思うんですが・・・。


242 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 01:05
とりあえず239はC言語をろくに知らない&勝手にC++だと思ってる、に1票。


243 名前: 239 投稿日: 2000/08/27(日) 01:37
>242
なるほどそういうことでしたか。
私もヒヨッコなものでスンマセン。
Cだとプロトタイプ宣言なくてもコンパイル通るんですね。
今まで.cppばかり使ってたのでエラーになるとばかり思ってました。


244 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 02:27
239の書いてる事を普通の人は理解出来るの?
239,242,243の流れが全く分からん。
一応Cは出来て今C++勉強中なんだけど。。。


245 名前: >244 投稿日: 2000/08/27(日) 02:40
いつかわかる時がくるかもしれん。(来ないかも試練)


246 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 04:30
C++で質問です。
よく
class hoge{
int i;
}
class hoge::hoge(void);i(10){};
っていうのを見かけるんですけど、
class hoge::hoge(void){ i=10; };
と、どう違うんですか?


247 名前: >246 投稿日: 2000/08/27(日) 04:43
(1) class hoge::hoge(void);i(10){};
(2) class hoge::hoge(void){ i=10; };

(1)は「初期化」
(2)は「代入」

メンバ変数に const な変数があったら「代入」が使えない。
そういった場合は「初期化」を用いて値をセットすべし。
詳しくは『Effective C++』第2版の12項を参照。



248 名前: 246 投稿日: 2000/08/27(日) 04:50
>>147
ありがとうございます。
あと、その本、探してみます。


249 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 08:48
>>244 どこがわからないのかわからない…
まさかプロトタイプじゃだろうから、リンクがわからないのかなぁ


250 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 09:18
244は、なんで242が239の勘違いが解るのかが解らないんでしょう。


251 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 12:10
>>243の勘違いしてても、>>239の発想は普通しないと思う。
Error: 外部シンボル '_prinft' が未解決って出るってことは
自作のprinft関数がトラブってるんでしょ? なんでそこで
>コンパイルは通ってるからprintfってちゃんと書いてると
って発想がでるのかが不思議。


252 名前: 不安厨房 投稿日: 2000/08/27(日) 13:53
Cを勉強してある程度できるようになったので、WinSDKを勉強しはじめました。
これでWindowsのゲームやツールを作ろうと思って期待で胸を膨らませていたのです。
分厚いマニュアル本を買ってきてシコシコと勉強を重ねてきたのですが、
Javaを信仰するネットの人に
「今更、SDKばっかやっても意味無いよ。Windowsばっか詳しくなってもしょうがないでしょ?
 オブジェクト指向に移らなきゃこれからはやっていけないよ。」
てなことを言われました。僕のやっていることは空回りなんでしょうか?



253 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 14:48
>252
きにするな、誰も正確な予想なんて出来ない。
今必要な事を勉強しとけ。


254 名前: ヒヨっこ 投稿日: 2000/08/27(日) 15:53
>>230

の拡張子は、hoge.cって感じです。

>>237

エディタで開いて・・でしょうか?すいませそ。よくわかりません。。。

>>236

prinftが正しいんでしょうか?
もしかしたらそこかも知れません。ありがとうございます。
単純なミスですね。僕は氏んだほうがいいのでしょうか?


255 名前: >251 投稿日: 2000/08/27(日) 16:29
あんたの発想も>>239と同じくらい不思議だとおもうがな。
prinftって関数を用意してるのか、printfの間違いなのかは、>>230
では、断定できないけど、どんなバグでも、フツーはケアレスミスから
疑うのがスジでしょ。


256 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 17:14
スレッドをつかうとメンバ変数がどんどん増えて逝き、
メンバ関数も大きくなってしまいます。
僕はプログラムの才能がないのでしょうか?


257 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 17:42
UNIXプログラミングの話はこの板でしてもいいのですか?


258 名前: 新米ギコ@散財人生 投稿日: 2000/08/27(日) 17:49
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<>>256 才能あるやつは一握りだ! 気にするな
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>257 特に問題なし。 イヂメるやつがいるかも知れないがな!
 UU ̄ ̄ U U  \_____________


259 名前: ヒヨっこ 投稿日: 2000/08/27(日) 19:40
ソースです。本を読んで打ちました。間違いはどこ?

#include <stdio.h>

main()
{
int a, b, c, i;

prinft("整数を2つ入力してください\n例 1,100\n");
scanf("%d,%d", &a, &b);
prinft("%d から %d までの和を計算します\n", a, b);
c = 0;
if(a<=b)
for(i=a;i<=b;i++)
c=c+i;

else
for(i=b;i <=a;i++)
c=c+i;
prinft("答え : %d\n", c);
}


260 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 19:51
答えです、どこが直ってるかは自分で探してください。

#include <stdio.h>

main()
{
int a, b, c, i;

printf("整数を2つ入力してください\n例 1,100\n");
scanf("%d,%d", &a, &b);
printf("%d から %d までの和を計算します\n", a, b);
c = 0;
if(a<=b)
for(i=a;i<=b;i++)
c=c+i;

else
for(i=b;i <=a;i++)
c=c+i;
printf("答え : %d\n", c);
}



261 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 20:16
ああああもう、イライラするなあ(笑)
いい加減ヒヨっこも

○printf  プリントエフ
×prinft  プリンエフティー

に気付っつうううううううううの。うざい。


262 名前: 217 投稿日: 2000/08/27(日) 20:59
オイラの質問(Video for Windows APIに関する情報求む)が
遥か彼方まで流され、忘れ去られてしまった。
クスン。(T_T

Q&Aはもっと簡潔に書きましょうよ。


263 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 22:08
いや (^^;)
VFWって言葉が既に過去のモノと受け取られたからではないだろうか?
マルチメディア系の API なら、「Win32APIバイブル」の第3巻が詳しいですぞ。



264 名前: 名無しさん@なまけもの98号 投稿日: 2000/08/27(日) 22:50
C++のクラスライブラリーが大量においてあるとこ
しりません?
フリーで
できれはネットワーク系


265 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 22:51
コードグルーの日本語訳のページってどこに逝っちゃったんすか?
至急情報きぼんぬ。
速くしないと、オレも逝っちまう


266 名前: 新米ギコ@散財人生 投稿日: 2000/08/27(日) 23:20
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>262 すまん! 管轄外だ!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>264 http://www.infoseek.co.jp/ だ!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>265 逝ってよし!
 UU ̄ ̄ U U  \_____________


267 名前: ヒヨっこ 投稿日: 2000/08/27(日) 23:48
>>261

合ってませんか?printfで。


268 名前: ヒヨっこ 投稿日: 2000/08/27(日) 23:49
あ、260読んでました。
鬱だ氏のう・・。


269 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/27(日) 23:51
>>265
ここ?違ったらごめん。
http://ewnn.jcontent.com/


270 名前: >264 投稿日: 2000/08/28(月) 00:01
海外のサイトをさまよってみて。
net系に限らずたくさんある。
日本語のサイトには多分ないと思う。


271 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 00:21
JAVAのIDEでのお勧めキボーン
出来れば軽いのがいいです。


272 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 00:28
>271
Jbuilder3.5Foundしかつかったことないけど。
メモリ128以下だときついと思うよ。
環境貧弱なんで重すぎて評価できん。

今はJDKとEmacsでUIまで全部かいてる。軽いよ。


273 名前: 262 投稿日: 2000/08/28(月) 02:16
レスわざわざありがとうございやす。>263
Win32APIバイブル3巻は調べましたが、(再生系しか)載ってなかったっス。
やっぱDirectX使うか、海外行くしかないか…

GNU系サイトで見かけたような…>271


274 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 05:36
V-IDEもしくはVIDEってやつかな?
URL忘れたから自分で調べてきてネ。
見つけたらここに貼ってね、僕のために >271



275 名前: しったかぶらー 投稿日: 2000/08/28(月) 10:36
V-IDE
 http://objectcentral.com/

注:V-GUI(ツールキット)と混同しないように!!


276 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 12:03
>272
Jbuilder3.5Found…
これ自身、JAVAで作られてませんか?
えらい遅い&使いづらいんですが


277 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 12:14
>>276
そうでーす。
まあ、逆に言えばJavaでもここまでできるということですね。


278 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 12:49
確かにjavaでここまで出きるのかぁと最初は感心したけど
実際に使い出すときついねぇ
重いしメモリ食うし


279 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 13:53
新規質問です。
シェルスクリプトで、ftpを実行し、ユーザ認証して適当な
ファイルを取ってくるっていうことは可能ですか?
もしできるのなら、具体的にはどう書けばいいでしょう。
rcpならできるんですが。


280 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 14:06
DelphiライクなJavaIDEはここにあった。

http://www.saninc.co.jp/
なんて読むのこれ?「ぶるーて」?


281 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 14:08
.netrcのマクロを使えば


282 名前: >279 投稿日: 2000/08/28(月) 14:31
ヒアドキュメント使え




283 名前: 280 投稿日: 2000/08/28(月) 14:40
「ぶるーえっと」か。もっと良く読めば良かった。
スマソ。


284 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 14:55
>282
ヒアドキュメントってなんですか?
perlとかのやつですか?


285 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 15:25
>>284
ヒアドキュメントはシェルスクリプトにもあるよ
っていうかこっちが元祖


286 名前: >284 投稿日: 2000/08/28(月) 15:48
↓こんなカンジかな(手元に使える環境無いんで、うろ覚え…)
ftp << EOS
open ftp.2ch.net
user hoge
pass xxxxxxxx
put a.c
get a.bin
quit
EOS



287 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 16:25
Winのどす窓なら
http://www.fsinet.or.jp/~image/book/ftp.htm


288 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/28(月) 17:10
>286さん
#! /bin/cshで
"user"と"pass"の部分だけは大文字
でやりましたけど、
パスワード聞いてくるところで止まってしまうのですが。

ま、今はrcpもできない環境なのでちょっと何とも言えません。



289 名前: JAVA消防 投稿日: 2000/08/28(月) 22:37
JAVA2MEって、具体的にどんなことが出来るんですか?
SEに比べての機能制限は?
詳しく書いてある本や、HPありましたらキボンヌ


290 名前: 新米ギコ@DQ中 投稿日: 2000/08/28(月) 23:17
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>289 http://java.sun.com/ だ!
 UU ̄ ̄ U U  \_____________


291 名前: JAVA消防 投稿日: 2000/08/28(月) 23:23
>280
ははは、どきどきするくらいDelphiライクですね。
いいのか?


292 名前: 280 投稿日: 2000/08/28(月) 23:38
インプライズのNewsGroupにでもかきこんどいてあげよっか?


293 名前: JAVA消防 投稿日: 2000/08/28(月) 23:55
>292
はは、そりゃ非道い。
しかし、このIDEの設計者は楽ですね。
「この部分の操作系はDelphiに準ずる」と書けばいいんだから

評価版の制限が気になりますが、とりあえずこれ使ってみようかなと思います。



294 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 00:06
SUNかと思ったらSANなんだよね、


295 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 01:00
会社名までパクリかおい!


296 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 01:30
>295
ないす



297 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 02:05
>1.0J(評価版)、サンのサイトで無償ダウンロード開始
トップページがこれだもん。

しらん人が見たらドットコムのサンからダウンロードできるんだと
思うだろうけど。


298 名前: >292 投稿日: 2000/08/29(火) 02:07
けど、外国産なんだね。日本語化しているだけか。

newsgroups.inprise.co.jp にでも書いておいたら?



299 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 02:11
http://www.unix.co.jp

このウェブサイトはいいんですか?全く別の業界業種なら、問題ないの
かなぁ...彼らにとってみれば自分達こそ正当なUNIXであり、コンピュ
ータ?なにそれ真似すんなよでしょうから。


300 名前: 280 投稿日: 2000/08/29(火) 02:22
>298
あはは、入れないよ。何時の間に出来たの?



301 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 02:24
http://www.saninc.co.jp/

は、今月のCマガで4ページにわたって紹介されているよ。
あと付録のCD-ROMには評価版が収録されてた。


302 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 02:30
>299
昭和63年の9月に現在の社名に変更って書いてあるから
それはなさそうだね。


303 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 02:51
3ヶ月でマイナバージョンが4も上がってるなおい!
10月にはもう2.0??



304 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 02:56
「コットン」か、なつかしーな。


305 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 06:17
VC++で質問さしてください。
VC++6.0のインストールをしたあと、MSDNライブラリのインストールを
しようとしましたが、ちゃんとインストールできません。
(インストールの途中でCloseCollection g_ccolCollection.Open(collectionname) dwError=8とかでて終わっちゃう)
手作業でMSDNの設定(VC++のヘルプが見られるようにする)方法がありましたら
おしえてください、おねがいします。



306 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 14:00
CRect::PtInRect みたいな動きをする、多角点はない?
用途は、台形とか、平行四辺形で、ポイントしたいんだよね。



307 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 14:03
http://cgi.members.interq.or.jp/gold/marken/vc/
ここに いってみなされ!
役に立つはず!


308 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 14:29
ACCESSでフォームのサイズを固定するにはどうすればいいんでしょうか。
heightもwidthもそれぞれのinsideも設定してるのに勝手に最大化して
無駄な部分がでまくりです。docmd.maximizeなんか入れてないのに…。

あと、twip単位ってなんでしょうか? グロッサリーヘルプとかあたった
んですけど載ってませんでした…。


309 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 16:23
NT上VC6でUNICODE使用のプログラミングを試みているものです。
UNICODEをdefineしてコンパイルできました。そして動きました。
しかし、Fileに対する日本語の入出力が全くできてません。画面出力
は問題ないのですが・・・。ちなみにCStdioFileとCStringを使って
stringリソースから文字列をloadしてファイルに入れようとしてます。
ファイルに日本語を入れようとすると、つねにファイルは0kb状態です
ギコさま、おたすけを。


310 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 17:04
最近MFCを勉強始めました。
MDIで、doc/view アーキテクチャにしてます。
「ファイルを開く」を選択した時、
1つメッセージボックスをかませたいと思ってます。
OnFileOpen() を オーバーライド?のし方ってありますか?

ステップで、実行すると、CWinApp::OnFileOpen() → CDocManager::OnFileOpen() ;
な感じで動いているみたいです。

OnFileOpen() を 置きたい場所は、CMainFrame です。



311 名前: 310>307 投稿日: 2000/08/29(火) 17:06
ってゆーか、僕の名前が例えばビルゲイツだったら、
匿名板じゃないと聞けない・・・



312 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/29(火) 20:41
>>310
単にID_FILE_OPENに対するメッセージハンドラを追加
するんじゃ駄目なん?


313 名前: 新米ギコ@かくれんぼ中 投稿日: 2000/08/30(水) 00:09
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>308 ACCESS使ったこと無いからわからん! スマン
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>309 ちゃんとファイル開いてる?
 UU ̄ ̄ U U  \_____________


314 名前: 310 投稿日: 2000/08/30(水) 11:11
とりあえず、できた。。。

1. 自分で関数を作って、CWinApp::OnFileOpen()を呼べばいいと解った
2. でも、protected な奴なので、MainFrameからは呼べない(?)
3. C???AppにOnFileOpen()をインプリメントして、その中で呼ぶ
4. そいつは public なんで AfxGetApp() なんかを使えばOK

どぉ?
正しい?

>312
はじめ、MainFrameにそのハンドラを追加してやった
で、ダメだった
そーゆー意味?


315 名前: >308 投稿日: 2000/08/30(水) 16:07
フォームをアイコン化又はダイアログで開いてみたらどうですか?


316 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/30(水) 16:35
C++のCStringクラスのような機能があり
JisCodeで使えるクラスはなにがありますか?


317 名前: グラマっち 投稿日: 2000/08/30(水) 19:06
C++の構造体とクラスって実質的になにが違うんですか?


318 名前: >317 投稿日: 2000/08/30(水) 19:12
箱形ロボットとダンボールの違い


319 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/30(水) 19:24
>>317
C++のstructとclassの違いだったら、
structはpublic:で始まる、classはprivate:で始まる。
それ以外は全部一緒。


320 名前: UNIX板が死んでるので 投稿日: 2000/08/30(水) 23:09
lost+foundって言うディレクトリって何に使うんでしょうか?


321 名前: 新米ギコ@今はお笑い小噺板の状態が気になる 投稿日: 2000/08/30(水) 23:20
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>316 CStringはVC++独自だ! C++とは違う!!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>317 Cの下位互換を保つためだけに残っただけだ! 気にするな!
 UU ̄ ̄ U U  \_____________
      ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< >>320 勝手に殺すなバカモノ!
 UU ̄ ̄ U U  \_____________
UNIXいた http://cocoa.2ch.net/unix/index2.html


322 名前: >319 投稿日: 2000/08/30(水) 23:20
いっしょだけど、同じように使って欲しくないと思うのは僕だけ?
structにメンバ関数いれるのは勘弁して欲しい・・・。


323 名前: 新米ギコって・・・ 投稿日: 2000/08/30(水) 23:24
悪いけど、ろくなこと言わないよね・・・。


324 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/30(水) 23:35
おれはどちらかというと、structはもう使うなよって感じ。
メンバ関数入れて欲しくない→コンストラクタやメンバアクセス関数
が無いのは気持悪い、ってのが理由かな。


325 名前: >323 投稿日: 2000/08/30(水) 23:56
新米だからいいんじゃない?


326 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/31(木) 00:09
新米だからっちゅうか人間性に問題ありだよね(藁


327 名前: 新米ギコ@ろくでもないやつ 投稿日: 2000/08/31(木) 00:10
――――――――――――――
>>323 ってツマラナイ煽りだよね
__  __ .r――――――――
    ∨   | 煽るくらいなら質問に答えればいいのに
日 凸 U | ______
≡≡≡≡≡| /〃∧_∧  / ̄ ̄ ̄ ̄ ̄
 U ∩ [] ∨%(´∀` ) < オマエモナー
__ ∧ ∧__∧_∧___)_ \_____
  (   ,,)日(    .)□     
― /   | ― (     )―――
\(__.ノ    ━┳━)
 ━┳━   └ ┃―・゛
 ̄ ┻  ̄ ̄ ̄ ┻ ̄ ̄ ̄ ̄


328 名前: cafe 投稿日: 2000/08/31(木) 01:17
オレ的には、まじれすよりトゲのあるかわしがいいな。


329 名前: 308 投稿日: 2000/08/31(木) 03:41
>315
それ、どうやるんでしたっけ?(汗) 明日会社でリファレンスみながら
戦ってみます。docmd.open XXX,ac〜はどれをやってもダメでした(涙)


330 名前: >316 投稿日: 2000/08/31(木) 09:56
STL(?)のstringでいいじゃん何か問題でもあるの?


331 名前: 308 投稿日: 2000/08/31(木) 10:52
解決しました! docmd.movesize x,y,幅,高さでいけました!
わかってみればアホなとこでハマってたんやな…

 続いて質問なんですが、フォームを開いた時全画面表示(タスクバー
の上にも覆い被さるように)するにはどんなコマンドを記述してやれば
よいのでしょうか?


332 名前: >>330 投稿日: 2000/08/31(木) 11:28
std::stringはSTLじゃないよ。


333 名前: 330>332 投稿日: 2000/08/31(木) 11:47
そう来ると思って(?)をつけたんだけどな。
「標準C++のstringクラス」といえばよかったのかな?


334 名前: 名無さしん@1周年 投稿日: 2000/08/31(木) 13:07
>>316
「JisCode」ってのが意味不明だが、あれか?
あの 1B 28 42 とかで切り替えるヤツのことをいいたいのか?


335 名前: >316 投稿日: 2000/08/31(木) 14:05
LPTSTR=UniCode
LPSTR =JisCode
ということか?


336 名前: >335 投稿日: 2000/08/31(木) 14:48
それ、絶対違う。


337 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/31(木) 16:54
LPSTR (char *) にJISもShiftJISもUnicodeもASCIIもEUCもEBCDICもねえよ。
windowsのSDKでCHAR,WCHAR,TCHARの項目を調べてみるべし。LPTSTR
などは、その関連で説明されている(と思う)



338 名前: グラマっち 投稿日: 2000/08/31(木) 17:49
C++の構造体とクラスはあんまり違いがないってことで納得しました。
でも、やっぱり構造体はCの構造体の様に使いたいと思います。
どうもありがとうございました。



339 名前: グラマっち 投稿日: 2000/08/31(木) 18:05
>217 = 262
"岩本一樹"で検索してみるといいんじゃなーいの?
263さんのおっしゃる通り、第3巻とかMSDN片手に読まないと苦しい。
でも片手によめばうんとわかるよ!



340 名前: >332 投稿日: 2000/08/31(木) 20:06
>std::stringはSTLじゃないよ。
そうっすか?
 typedef basic_string<char> string;
ですよね?MSでもSGIでもドキュメントではSTL
として扱ってますけど。


341 名前: >340 投稿日: 2000/08/31(木) 20:17
また同じこと言ってる人がいるよ……
解決したスレッドはどこだったかな



342 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/31(木) 20:19
MSDNで「STLの規約」を引きたまえ。



343 名前: >341 投稿日: 2000/08/31(木) 20:29
確か「complexはSTLだよ」って言ってた奴が…


344 名前: 343 投稿日: 2000/08/31(木) 20:33
発見!
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=965248105


345 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/31(木) 20:40
アクセスでDBシステムを築く事になったんだけど、
成功事例ってあるの?
(たぶん)もし無かったら、アクセスでDBシステムは
無理だと言うことを上司に納得させる上手い良いわけを教えて〜
因みにこのシステムは
nリードクライアント、nライトクライアントです。


346 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/08/31(木) 21:05
>>344
そのスレは無かったことにして〜〜


347 名前: >346 投稿日: 2000/08/31(木) 21:23
そのスレの9?


348 名前: 346 投稿日: 2000/08/31(木) 23:13
そうだよぉ〜〜。しかもageられてるし……。


349 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/01(金) 00:49
さらしあげ


350 名前: >345 投稿日: 2000/09/01(金) 09:25
DBエンジンは何を使うの?
Jetならマルチユーザーはやめておいたほいが良いぞ。
銀行のbackendなどで用いられいる実動システムは
Unix上のSybaseやOracleをDBエンジンにして、
Accessをフロントエンドの端末記述に使っているよ。



351 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/01(金) 10:25
>345
失敗事例なら山ほどあるぞ。(苦笑



352 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/01(金) 12:38
>345
http://www.iib.co.jp/
ってどうよ?


353 名前: 340 投稿日: 2000/09/01(金) 13:42
お恥ずかしながら皆さんの言う通り全面的に僕の勘違いでした。
【正解】STL=vector,list,dequeset,multiset,map,multimap,hash_set,
hash_multiset,hash_map,hash_multimap


354 名前: 340 投稿日: 2000/09/01(金) 14:03

コンテナクラスのみね


355 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/01(金) 18:04
「いちいちstring(basic_string)はSTLじゃねえとわめきだす奴は厨房」ということに決定したようです



356 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/01(金) 20:32
話は変わるけど、VCでSTL使っている人は↓をちぇっくしてね。
 http://www.dinkumware.com/libcppvc.html
ここがVCに付属しているSTLの製造元ですから。

あと↓にSGIのSTLをVC等で使いやすいようにポーティング
したものがある。俺はVCではこれを使っているよ。
 http://www.stlport.org/


357 名前: 345 投稿日: 2000/09/02(土) 04:24
レスくれた方
どうやら上司を納得させるだけの資料が出来そうです。
ありがとねぇ〜


358 名前: VBVC++ 投稿日: 2000/09/02(土) 16:42
初めまして。初歩的なことですがお願いします。
VC++で三角形の面積を求めるMenseki.dllを作りVBから利用するという所で,

Menseki.hに
MENSEKI_API int __stdcall Sankaku(double Teihen, double Takasa, double *Menseki);

Menseki.cppに
MENSEKI_API int __stdcall Sankaku(double Teihen, double Takasa, double *Menseki);

{ int iRet;
if ((Teihen > 0) && (Takasa > 0)) {
*Menseki = Teihen * Takasa / (double)2;
iRet = 0;
} else {
iRet = -1;
}

return iRet;
}

と書籍の通りに書いたのですが,ビルドの段階で,Menseki.def : warning LNK4017: LIBTATY 文はターゲット プラットフォームでサポートされていません。と警告が出てしまいます。何処が悪いのでしょうか?



359 名前: VBVC++ 投稿日: 2000/09/02(土) 16:43
Menseki.defには

LIBTATY Menseki.dll

EXPORTS
Sankaku

と書きました


360 名前: ぉぃぉぃ 投稿日: 2000/09/02(土) 17:13
>>358-359
それはたぶん、LIBTATY 文がターゲット プラットフォームでサポートされていないからでしょう。
LIBRARY 文なら必ずサポートされてると思いますのでそちらを使ったらどうでしょう?(ワラ



361 名前: あ、いきなり核心を(藁 投稿日: 2000/09/02(土) 17:41
 


362 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/03(日) 02:06
しかしMensekiは寒いな(藁


363 名前: ついでに 投稿日: 2000/09/03(日) 16:12
Sankakuって意味不明だな。そんな寒い「書籍」は捨ててしまえ。


364 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/03(日) 18:42
age


365 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/04(月) 20:07
こういうコンストラクタの書き方はありなんですか?
シンボルが重複してるからちょっと心配なんですけど。

Object::Object(int data)
   : data(data)
{
}

一応、VC++6でコンパイルは通ったけど、期待通りに動くのかどうか少し心配です。


366 名前: >365 投稿日: 2000/09/04(月) 20:35
ちょっと気持ち悪いねぇ (^^;)
シンボリックデバッガとか使う時に data が仮引数の data なのか
メンバの data なのか、人間のほうが迷っちゃいそう。
同名のローカル変数を(ブロック違いで)複数使用すると
気が狂っちゃうデバッガも有るぐらいだから、お勧めできません。



367 名前: 新米ギコ 投稿日: 2000/09/04(月) 23:44
    ∧ ∧   /
    ( ゚Д゚)< >>365 スコープ演算子で解決だ!
     |つ つ  \
   〜   |
    ∪ ∪
    ∧ ∧   /
    ( ゚Д゚)< >>366 デバッガが狂う前にお前が狂うなよ!
     |つ つ  \
   〜   |
    ∪ ∪
    ∧ ∧   />>昔の人
    ( ゚Д゚)< BNFなんて最近じゃ大学に逝くか、コンパイラの勉強でも
     |つ つ  \しない限り知ってる奴は少ないだろ。せいぜい正規表現くらいだ!
   〜   |    \ フローチャート知らないのはちょっと、、、
    ∪ ∪


368 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/05(火) 12:25
>BNFなんて最近じゃ大学に逝くか、コンパイラの勉強でも

RFC 等で、規格を定義しているところでも使われているから
手抜きしちゃだめだよ。


369 名前: 365 投稿日: 2000/09/05(火) 12:45
ん〜、解決方法は別に訊いてないんだけどな。
>>365の書き方が是か非かどうかだけ訊きたいわけで。


370 名前: >369 投稿日: 2000/09/05(火) 14:12
()の前が初期化対象で、()の中が初期値だから文法的にはOK。
最近は_を付けるのがお気に入り
:_data(data) とか :data_(data) とか。


371 名前: 365 投稿日: 2000/09/05(火) 14:23
文法的にOKならまあいいかな。
コンパイラがきっちり解釈してさえくれれば問題ないんだけど、一応文法上の曖昧さはないしな。(多分)

ところで、こういう書き方ってどう思うものなんだろう?
>>366は、「ちょっと気持ち悪い」と言ってたが、それが普通の反応なのかな?


372 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/05(火) 16:32
Javaのvalidate()とinvalidate()の違いがわからんぞ (゚д゚)ゴルァ


373 名前: しー@(*゚Д゚)さん 投稿日: 2000/09/05(火) 23:21

  | ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  | さびしんぼー!|
  |_______|
    ∧_∧ ||
   (*゚ー゚)||  
    /つ つ        



374 名前: 新米ギコ 投稿日: 2000/09/06(水) 00:24
  ∧∧!!
Σ (;゚д゚)  < >>368 rfc1855もBNFなのか!
 ヽ/つ且~~  #http://www.cgh.ed.jp/netiquette/rfc1855j.html
  (__ _)    #使ってるとこあっても知ってる人の比率は少ないと思うぞ
    ^
  ∧∧!!
Σ (;゚д゚)  < >>369 非!
 ヽ/つ且~~
  (__ _)  
    ^
  ∧∧!!
Σ (;゚д゚)  < >>371-372 コンパイラより人間の方が厄介だぞ!
 ヽ/つ且~~
  (__ _)  
    ^


375 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/06(水) 00:29
>>371-372じゃなくて、>>370-371だ!
  ∧∧
  (,゚д゚)  < >>372 validate()とinvalidate()が違う!
 ヽ/つ且~~             ~~
  (__ _)   #http://java-house.etl.go.jp/ml/で探してくれ
    ^
  ∧∧
  (,゚д゚)  < >>373 さび辛抱だ!
 ヽ/つ且~~
  (__ _)  
    ^


376 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/06(水) 19:36
VCつかってますが、list<string>と宣言するだけでWarningでまくり
です。なにがわるいんでしょうか。


377 名前: >376 投稿日: 2000/09/06(水) 19:48
#pragma warning(disable:3786)


378 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/06(水) 20:32
>>377
惜しい、#pragma warning(disable:4786) だ。



379 名前: ギリギリです。 投稿日: 2000/09/07(木) 12:14
SQLで質問です。

HEAD と SPEC という2つのテーブルが有り、それぞれ主キーには
ID という 列があります。
ID は順序を使い取得しています。
システム上 HEAD と SPEC に同じ ID番号が無い事があります。
HEAD に ID番号が有り、その ID番号が SPEC に無いデータのみ知りたい場合、
SQLでどう書けば良いか教えて下さい。


380 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/07(木) 12:32
OuterJoin 掛けた結果を WHERE SPEC.ID is NULL で絞り込む。
Distinctするのを忘れずに。



381 名前: 陰陽 投稿日: 2000/09/07(木) 15:03
SELECT
 *
FROM
 SPEC
WHERE
 ID NOT IN (SELECT ID FROM HEAD)



382 名前: ギリギリです。 投稿日: 2000/09/07(木) 17:20
>>380
>>381
ありがとうございました。
おかげで無事解決いたしました。


383 名前: ヤス 投稿日: 2000/09/07(木) 18:53
押忍!
プログラマの先輩の方々初めまして。
自分はシューティングゲーム作ろうと思います。
WinSDKでC言語にて作るつもりです。
なにからやったらいいのやらわからないのですが、
参考になるHPなどありますか?

では、失礼します。押忍!


384 名前: ハッシュ関数もどき 投稿日: 2000/09/07(木) 19:01
14桁の文字列があって
実際には8192以下の組み合わせしかない場合、
それぞれに0-8191の番号を与えるにはどしたらよござんしょ?



385 名前: 名無しさん 投稿日: 2000/09/07(木) 19:43
>>384
たとえばA-99999-X
(AはAからZまでの文字、XはAからZまたは0から9)
というようなルールが文字列にあった場合、すべての
組み合わせに番号を与えられるのは自明。
ルールが存在しない不定長の文字列なら、辞書の作成が必要。



386 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/09/07(木) 22:17
便乗です。可変長文字列(0文字を含む)を[0..HASH_SIZE)にマップする性能のいい
ハッシュ関数ってどんなのがありますか?

わたしは、
for(key = 0, c=str ; *c!='\0' ; c++) {
 key ^= *c;
 key *= 1566083941UL;
 key += 1;
}
key >> = 16;
key %= HASH_SIZE;

ちゅう関数を使ってます。線形合同法で散らしているだけです。
でもこれ、遅いんですよね。


387 名前: 新米ギコ </