■ このスレッドは過去ログ倉庫に格納されています
【初心者歓迎】C/C++室 Ver.94【環境依存OK】
- 1 :デフォルトの名無しさん:2014/11/29(土) 19:42:42.55 ID:H7nG43zB.net
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
前スレ
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
http://peace.2ch.net/test/read.cgi/tech/1412495628/
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
- 677 :デフォルトの名無しさん:2015/06/07(日) 01:22:43.04 ID:hr3tQ2QJ.net
- おいQZ、VSネタでマルチ自演かよ
ほんとなんでもありだなお前のバレバレ自演
- 678 :デフォルトの名無しさん:2015/06/07(日) 15:39:22.50 ID:JLEDROYj.net
- >>676
どうもありがとう
C++の学習必要無かったみたいね
- 679 :デフォルトの名無しさん:2015/06/09(火) 00:17:35.11 ID:xfiXeUeQ.net
- QZには得ても無駄知識
- 680 :デフォルトの名無しさん:2015/06/11(木) 17:27:47.96 ID:iGKX+Re5.net
- >>675
boost graph
- 681 :デフォルトの名無しさん:2015/06/11(木) 23:44:32.66 ID:phbL6DGJ.net
- // main.cpp
#include "TestClass.h"
// TestClass.cpp
#include "TestClass.h"
// TestClass.h
mainでTestClassを生成した場合
main.cppがTestClass.hを認識出来るのは分かるけど
TestClass.cppはどうやって認識しているの?
- 682 :デフォルトの名無しさん:2015/06/12(金) 05:08:16.69 ID:Qvm3BcbJ.net
- >>681
TestClass.libをリンクしないようにしてみ
- 683 :679:2015/06/12(金) 11:02:05.16 ID:ZzMiSOW4.net
- >>682
ごめん、どうやってリンクしないようにするの?
- 684 :デフォルトの名無しさん:2015/06/12(金) 12:53:38.36 ID:Qvm3BcbJ.net
- >>683
開発環境しらんし!!1
- 685 :679:2015/06/12(金) 14:41:31.65 ID:ZzMiSOW4.net
- visual studio !!!!
- 686 :デフォルトの名無しさん:2015/06/12(金) 14:49:44.71 ID:bMq/lwLt.net
- libじゃないだろ
初心者ならまずはプロジェクトにソースを登録するか makefileに記述するだろ
- 687 :デフォルトの名無しさん:2015/06/13(土) 01:17:13.02 ID:05Jv17Sn.net
- >>685
VSならTestClass.cppを右クリックしてプロジェクトから除外ってみ
- 688 :676:2015/06/15(月) 11:54:10.58 ID:mHyo0Y7D.net
- プロジェクトから除外してみたら読み込まなかったんだが
TestClass.cppは開発環境が自動で読み込んでくれているだけで
本来は読み込まないものって解釈でよいの?
- 689 :679:2015/06/15(月) 11:54:58.67 ID:mHyo0Y7D.net
- ミスった679ね
- 690 :679:2015/06/15(月) 18:41:36.58 ID:mHyo0Y7D.net
- スルーするなよ(´・ω・`)
プロジェクトから除外してみたら読み込まなかったんだが
TestClass.cppは開発環境が自動で読み込んでくれているだけで
本来は読み込まないものなの?
- 691 :片山博文MZ ◆T6xkBnTXz7B0 :2015/06/15(月) 18:49:11.84 ID:hozTrjkJ.net
- 開発環境がコンパイラーにソースファイルを渡してコンパイル&ビルドさせている
- 692 :デフォルトの名無しさん:2015/06/15(月) 18:53:42.73 ID:G/zt5tY/.net
- >mainでTestClassを生成した場合
>main.cppがTestClass.hを認識出来るのは分かるけど
>TestClass.cppはどうやって認識しているの?
「mainでTestClassを生成した場合」 とか
「ソースファイル(main.cpp) が ヘッダーファイル (TestClass.h) を認識」 とか
質問が日本語になってないんだもん エスパーして答えるしかねーよ
- 693 :デフォルトの名無しさん:2015/06/15(月) 20:40:55.08 ID:H6WfKB6i.net
- >>692
知識ないのに自慢するなよQZ
お前は入門書を読み漁って章末問題で一人で回答していい気になってろ
ここにくるなゴミ
- 694 :679:2015/06/16(火) 00:53:08.41 ID:TEY6OSiS.net
- あんがと
長年の謎が解けたよ
- 695 :デフォルトの名無しさん:2015/06/16(火) 20:07:00.44 ID:7c92TlFO.net
- QZ長年無職の縛りが解けず
- 696 :デフォルトの名無しさん:2015/06/18(木) 23:15:27.23 ID:g8R/sLPDG
- クラスAがクラスBのインスタンスbの参照をconst付きで持つことは出来ませんか?
やりたいことはこんな感じです
class A {
public:
A(const B& b) { inst = b };
const B& inst;
};
- 697 :デフォルトの名無しさん:2015/06/22(月) 15:23:43.62 ID:LaWWlZoGa
- >>696
scから書くとレス付きにくいよ
A(const B& b) : inst(b) {};
- 698 :デフォルトの名無しさん:2015/06/23(火) 16:46:23.25 ID:UWY4UI5S.net
- 教えてちょ
http://www.pso2-uploader.info/uploda/src/up160546.png
- 699 :デフォルトの名無しさん:2015/06/23(火) 17:27:36.12 ID:UWY4UI5S.net
- >>698
取り下げます
- 700 :デフォルトの名無しさん:2015/06/24(水) 13:02:46.77 ID:aZuAsVj7.net
- >>698
色んな意味でひでぇ問題だな。
- 701 :デフォルトの名無しさん:2015/06/28(日) 03:16:39.30 ID:4PA/u/+9.net
- 今時、文字を配列で持つなんてありえないだろ
- 702 :デフォルトの名無しさん:2015/06/28(日) 08:16:49.91 ID:q4v0PqzP.net
- 本題はそこじゃないだろ
- 703 :デフォルトの名無しさん:2015/06/29(月) 12:18:24.10 ID:/OhQj6sy.net
- 発見したら終わりなのか?それとも何個あるか出力するのか?
- 704 :デフォルトの名無しさん:2015/07/01(水) 00:50:56.19 ID:43NAfoSR.net
- 無職QZが投稿した糞オナニー質問
357 名前:オナネタ(そんなに難しくはない)[sage] 投稿日:2015/06/30(火) 15:56:31.85 ID:xNq01ZTL [1/5]
[1]省略
[2]
3^n (n=0,1,2,....1000)
を出力するプログラム
main関数しか作ってはならない。
stdio.h string.h
のライブラリ関数しか使ってはならない。
マクロ関数もNG
行数20行以内
変数は整数配列一つのみ
書式
3^0=1
3^1=3
3^2=9
....
3^82=1330279464729113309844748891857449678409
.....
[3]
[4]
[5]省略
- 705 :デフォルトの名無しさん:2015/07/12(日) 10:20:43.33 ID:cli6Wler.net
- 質問なんですが、
{
{
int i = 5;
}
i = 0; // エラー.iはもう存在しない
}
のように、他のスコープでは存在したが現在見ているスコープからは見えない変数って、完全に消滅(該当のスタックメモリに再利用可の印をつけ、名前テーブルから削除)しているんでしょうか?
それとも名前テーブルから削除されるだけなんでしょうか?
- 706 :デフォルトの名無しさん:2015/07/12(日) 12:48:17.70 ID:k8qQ8sd1.net
- >705
実行時の話だよな。
一般的には関数内の自動変数領域は関数に入るときに作られ、関数から抜けるときに解放される。
これをスタックフレームと言う。
確保も解放もスタックポインタを移動するだけだ。
自動変数に名前テーブルも再利用可能の印も要らない。
疑問の前提が間違っている。
>{
> {
> int i = 5;
> }
> i = 0; // エラー.iはもう存在しない
>}
これはコンパイルエラーであって、君の疑問とは全く関係が無い。
「iはもう存在しない」のではなく最初からこのスコープに無い。
- 707 :デフォルトの名無しさん:2015/07/12(日) 12:49:46.02 ID:svivBg18.net
- >>705
言語仕様から確実に言える事は、
「完全に消滅している」
ってところまでかな。
名前云々は完全に処理系依存の話なので何とも。
しかも、コンパイル時の話なので、コンパイラの作成に興味があるのでも無ければ、気にしても意味の無い話しだと思うよ。
- 708 :デフォルトの名無しさん:2015/07/12(日) 12:51:53.50 ID:kKzgWvVT.net
- Qの自演スレに投下された自演質問に反応しないでください
- 709 :デフォルトの名無しさん:2015/07/12(日) 14:32:34.21 ID:cli6Wler.net
- そうだった、スタックだから単純にカレントインデックス動かすだけで処理するんだった……
ありがとうございました。
ということは、やっぱりループでのみ使う変数の定義は、ループ内に入れるべきなのかな。
コンパイラ依存でないコード(初めからループの外に定義を追い出す)と、コンパイラの最適化に頼ったコードの比較をしていて気になってました。
- 710 :デフォルトの名無しさん:2015/07/12(日) 15:22:43.20 ID:ijGXRf9p.net
- >>709
最小限だけ書くけどこの場合速度が落ちるから外部でint i;した方がいい場面もある
for()
for(int i;;)
- 711 :デフォルトの名無しさん:2015/07/13(月) 08:15:48.47 ID:N83JEIha.net
- ねーよ。
- 712 :デフォルトの名無しさん:2015/07/13(月) 08:45:00.37 ID:SsIQOJjZ.net
- あーるよ。
- 713 :デフォルトの名無しさん:2015/07/13(月) 09:15:08.88 ID:akoFSls4.net
- 初心者に変な癖付けさせるだけで害悪以外の何物でもないな
- 714 :デフォルトの名無しさん:2015/07/13(月) 12:51:05.93 ID:8hvPNaF1.net
- 仮に、ブロック突入時に律儀にスタックフレームを形成するようなコンパイラがあるとすれば、整数変数をブロック外で定義した方がコストが下がる可能性はあるね。
処が、普通は関数突入時にスタックフレームを形成するので、件の整数変数をどこで定義しようとその為にコストが変わることはないよ。
それどころか、ブロック内で定義した方が生存期間の判定が楽になるから、レジスタに割り付けられる可能性が却って増すってもんだ。
- 715 :デフォルトの名無しさん:2015/07/13(月) 13:48:29.67 ID:SsIQOJjZ.net
- >>714
いつの時代の方ですか?
まあ速度差が出ても>>713に完全に同意だが
- 716 :デフォルトの名無しさん:2015/07/13(月) 21:44:51.87 ID:92henfdO.net
- だから速度差なんてないってば。
- 717 :デフォルトの名無しさん:2015/07/13(月) 22:30:31.47 ID:SsIQOJjZ.net
- 確かに単純にint i;だけなら速度差は出ないけど、
int i = /* */;みたいに代入の式が伴って外に出ると速度差が出る場合があるんだよね。
意味的に違ってくる場合があるから当然だけど。
- 718 :デフォルトの名無しさん:2015/07/13(月) 23:10:35.47 ID:cxTds9wU.net
- > 最小限だけ書くけど
ってのを無視してる人が多いのが謎
- 719 :デフォルトの名無しさん:2015/07/13(月) 23:22:02.96 ID:3owfcYR4.net
- 意味が違うものを比較してどうする
- 720 :デフォルトの名無しさん:2015/07/14(火) 01:13:37.01 ID:E3nEuehz.net
- 最小限のコードの意味を間違ってないだろうか…
説明したい内容が、必要十分に含まれているという事が、最小限ってことだぞ…
後付けで条件の追加が必要であるならば、それは単純に足りないコードだよ…
- 721 :デフォルトの名無しさん:2015/07/14(火) 01:40:32.73 ID:3KviU9VD.net
- スコープの話で
> ループでのみ使う変数の定義は、ループ内に入れるべきなのかな。
に対してなんだから>>710のコードだけで十分だろ
アスペ多くね?
- 722 :デフォルトの名無しさん:2015/07/14(火) 03:44:08.40 ID:kZduJHiI.net
- >>721
お前自身の主張がなんなのかまったく解らんのだが、ただ他人をバカにしたいだけ?
- 723 :デフォルトの名無しさん:2015/07/14(火) 08:20:25.22 ID:i/2DLIti.net
- >>721
その>>710が、本文に合ってるコードになってないって事だろ
- 724 : ◆QZaw55cn4c :2015/07/14(火) 20:23:44.35 ID:rHdKCkr+.net
- >>705 >>709 は,カウンタとして使う変数に限ってはいない,とおもうよ‥
- 725 :デフォルトの名無しさん:2015/07/14(火) 22:37:36.28 ID:rB0J2LcB.net
- QZ怒りの鳥つけ自演
- 726 :デフォルトの名無しさん:2015/10/13(火) 15:25:40.08 ID:GMeIq+4u.net
- 本スレhttp://peace.2ch.net/test/read.cgi/tech/1439849418/
総レス数 726
204 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★