2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【初心者歓迎】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 ★