質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
ワッチョイは住人が離れスレが寂れます導入禁止。
前スレ
スレ立てるまでもない質問はここで 148匹目 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1495618637/
スレ立てるまでもない質問はここで 149匹目
■ このスレッドは過去ログ倉庫に格納されています
2018/06/17(日) 10:31:28.00
472デフォルトの名無しさん
2019/07/13(土) 12:40:22.09ID:84uvDwlw C言語のexternって変数版プロトタイプ宣言って事ですか?
>>472
現在のモジュールではないところにある変数を使う、という意味です
自分のモジュールでは変数の領域確保はせず、他のモジュールで変数領域を確保したものを、自分ところで使う、くらいの宣言ですね
複数のモジュールを分割コンパイル&リンクで構成するときに使いますね
現在のモジュールではないところにある変数を使う、という意味です
自分のモジュールでは変数の領域確保はせず、他のモジュールで変数領域を確保したものを、自分ところで使う、くらいの宣言ですね
複数のモジュールを分割コンパイル&リンクで構成するときに使いますね
475デフォルトの名無しさん
2019/07/18(木) 20:59:46.89ID:oIj3MCe2 Cの入門書3冊ほど買ってやっているのですが
毎回「2進数,16進数,ビット,符号付き云々」が書かれた章ら辺を全く理解できず飛ばしてしまいます
ここら辺の説明が簡単にされてるお勧めの書籍はないですか?
毎回「2進数,16進数,ビット,符号付き云々」が書かれた章ら辺を全く理解できず飛ばしてしまいます
ここら辺の説明が簡単にされてるお勧めの書籍はないですか?
476デフォルトの名無しさん
2019/07/18(木) 21:33:14.84ID:zRiZ3XlB477デフォルトの名無しさん
2019/07/18(木) 21:48:31.44ID:ixQnk4MT >>475
事故ってから調べたら?
例えば
大きい数使うからlong 型で宣言しておいて
これでもう安心だと思ってたら
32bit OS だったので22億程度でオーバーフローした
仕方がないので long long int に書き換え
printf のところもそれ用に書き換えた
その辺はハードウェアの実装にまつわる話であって
数学的でもコードの主要なロジックでもないから
後回しでも大丈夫
事故ってから調べたら?
例えば
大きい数使うからlong 型で宣言しておいて
これでもう安心だと思ってたら
32bit OS だったので22億程度でオーバーフローした
仕方がないので long long int に書き換え
printf のところもそれ用に書き換えた
その辺はハードウェアの実装にまつわる話であって
数学的でもコードの主要なロジックでもないから
後回しでも大丈夫
>>475
理解できない文章を書いていただけますか?たぶんここで説明できると思います
理解できない文章を書いていただけますか?たぶんここで説明できると思います
479デフォルトの名無しさん
2019/07/18(木) 21:59:41.60ID:DPDlMznj 交通量調査でカウンターカチカチやってるやついるよな?
0000から始まって9999までいくやつとか。
ボタン押すたびに数値が1つずつ増えていく。9の次は一つ左が1つ増えて0に戻る
2進数っていうのは、あの数字が0と1しかないバージョン
0000から始まって9999までいくやつとか。
ボタン押すたびに数値が1つずつ増えていく。9の次は一つ左が1つ増えて0に戻る
2進数っていうのは、あの数字が0と1しかないバージョン
480デフォルトの名無しさん
2019/07/18(木) 22:17:19.65ID:Dq9AqK5q >飛ばしてしまいます
飛ばさずよめ
飛ばさずよめ
481デフォルトの名無しさん
2019/07/18(木) 22:53:40.52ID:/LR/VG24 >>475
知り合いから同じような質問をされたことがあった
参考書を何度読み返しても分からない、例えで教えろと言うので
「もし8本指の宇宙人がいたら16進数を使うはず
地球人は5本指で手が2本だから、数を数えるときに10ずつ繰り上げる10進数を使うが
両手合わせて16本の指を持つ宇宙人なら16ずつ繰り上げる
それが16進数」
って答えたわ
知り合いから同じような質問をされたことがあった
参考書を何度読み返しても分からない、例えで教えろと言うので
「もし8本指の宇宙人がいたら16進数を使うはず
地球人は5本指で手が2本だから、数を数えるときに10ずつ繰り上げる10進数を使うが
両手合わせて16本の指を持つ宇宙人なら16ずつ繰り上げる
それが16進数」
って答えたわ
482デフォルトの名無しさん
2019/07/19(金) 07:31:36.74ID:YMiFBQf1 >>478
16進数は10進数を16で割り続ければ16進数に変換出来るというのは何となく分かったのですが
でもそれをどうやってABCDEFも使って16進数表記にすれば良いのかわからないです
後8bitは256個の数字が表せる理屈も分からないです
ビットの論理演算も意味不明です
unsigned ,signedを使う必要性?とかも分からないです
他にもありますが…全て分かってないので具体的に言えるほど内容濃くないですw
ここらへん理解できないとポインタの章も理解できてるとは言えないのでしょうか・・
16進数は10進数を16で割り続ければ16進数に変換出来るというのは何となく分かったのですが
でもそれをどうやってABCDEFも使って16進数表記にすれば良いのかわからないです
後8bitは256個の数字が表せる理屈も分からないです
ビットの論理演算も意味不明です
unsigned ,signedを使う必要性?とかも分からないです
他にもありますが…全て分かってないので具体的に言えるほど内容濃くないですw
ここらへん理解できないとポインタの章も理解できてるとは言えないのでしょうか・・
483デフォルトの名無しさん
2019/07/19(金) 10:17:04.36ID:mIHotaYe > 16進数は10進数を16で割り続ければ16進数に変換出来るというのは何となく分かったのですが
そんな複雑なこと考えなくていいよw
0〜15がそれぞれ0〜Fに対応してるってだけ。
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
でもまずその前にまず2進数があって
0 ・・・ 0000
1 ・・・ 0001
2 ・・・ 0010
3 ・・・ 0011
4 ・・・ 0100
:
:
15 ・・・ 1111
これの何が嬉しいかと言うと、はるか昔メモリが高かった時代にメモリを節約できた(半分ウソ)
例えばゲームのフラグ管理で、チェックあり/なし の二つの値が必要な場合、
1バイトの中に8個ものフラグを詰め込めるんだ。どうだすごいだろう?
そんな複雑なこと考えなくていいよw
0〜15がそれぞれ0〜Fに対応してるってだけ。
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
でもまずその前にまず2進数があって
0 ・・・ 0000
1 ・・・ 0001
2 ・・・ 0010
3 ・・・ 0011
4 ・・・ 0100
:
:
15 ・・・ 1111
これの何が嬉しいかと言うと、はるか昔メモリが高かった時代にメモリを節約できた(半分ウソ)
例えばゲームのフラグ管理で、チェックあり/なし の二つの値が必要な場合、
1バイトの中に8個ものフラグを詰め込めるんだ。どうだすごいだろう?
484デフォルトの名無しさん
2019/07/19(金) 10:29:47.45ID:mIHotaYe 変数に0や1を代入するのは a=0 とか a=1 ってやれば簡単にできるだろう?
でも1バイトの変数の中に8個ものフラグを詰め込んで、
その一つだけをON/OFFしたいときどうすればいいかわからんだろう?
そんときに使うのがビット演算
0001 を 1001 の一番左をONにするには、
0001 OR 1000 とやれば、1001となる。
右がどんな状態でも ???? or 1000 で 1??? となる。
反対に特定のビットをOFFにするにはAND、特定のビットを反転するにはXORを使う
すべてのビットの反転はNOTだな
まあ要するに、メモリを効率良く使えるのが2進数で、
2進数を便利に計算できるのが、ビット演算。
でも2進数ってのは長くなるだろう?
1バイトだったら 1111111111111111 こんなに長い。10進数なら255ですむのに。
これを見やすく4桁で区切ると 1111 1111 1111 1111 とこうなって、
16進数で書くとさらに短く FF となる。しかも2桁ちょうどでキリがいい!
というか2進数を短く書いた時にキリがいいようなるよう選ばれたのが16進数
昔は2進数を3桁区切りにした8進数も使われていたが1バイトは
1 111 111 111 111 111 こうなってあまりキリが良くない。
でも1バイトの変数の中に8個ものフラグを詰め込んで、
その一つだけをON/OFFしたいときどうすればいいかわからんだろう?
そんときに使うのがビット演算
0001 を 1001 の一番左をONにするには、
0001 OR 1000 とやれば、1001となる。
右がどんな状態でも ???? or 1000 で 1??? となる。
反対に特定のビットをOFFにするにはAND、特定のビットを反転するにはXORを使う
すべてのビットの反転はNOTだな
まあ要するに、メモリを効率良く使えるのが2進数で、
2進数を便利に計算できるのが、ビット演算。
でも2進数ってのは長くなるだろう?
1バイトだったら 1111111111111111 こんなに長い。10進数なら255ですむのに。
これを見やすく4桁で区切ると 1111 1111 1111 1111 とこうなって、
16進数で書くとさらに短く FF となる。しかも2桁ちょうどでキリがいい!
というか2進数を短く書いた時にキリがいいようなるよう選ばれたのが16進数
昔は2進数を3桁区切りにした8進数も使われていたが1バイトは
1 111 111 111 111 111 こうなってあまりキリが良くない。
485デフォルトの名無しさん
2019/07/19(金) 10:39:13.10ID:mIHotaYe > unsigned ,signedを使う必要性?とかも分からないです
今ではどんなに大きい数値でも、マイナスの数値でも変数に入れてしまえばいいじゃん
何バイトでも使ってさ!って思うかもしれないけど、
昔はメモリが高かったからな、メモリを節約するためにできた(半分ウソ)
くっ、あと1バイトしか使えんのだ!ってなったとき、
でもマイナスの数値は必要だけど、使う数値は -100 〜 +100 までなんだ
ってなったとき、1バイトのsignedを使えば、-128 〜 +127まで入れられるから
1バイトで十分ということになる。
くっ、あと1バイトしか使えんのだ!ってなったとき、
マイナスの数値は必要ないけど、使う数値は 0 〜 +200 までなんだ
ってときは signed では無理だけど unsigned にすればいける
昔のドラクエのゴールドなんか最大65535だけど、
これは、1バイトでは足りないからせめて2バイトで! 3バイトは使いすぎぃ!
ってなったから、これが最大値となった。ドラクエに借金システムはないので
所持金マイナスがないけどsignedを使えば、マイナスが表せる代わりに
最大32767までしか使えなくなる
昔はこのバランスを考えて使用するメモリ量(=変数の型)を決めていたんだよ
今ではどんなに大きい数値でも、マイナスの数値でも変数に入れてしまえばいいじゃん
何バイトでも使ってさ!って思うかもしれないけど、
昔はメモリが高かったからな、メモリを節約するためにできた(半分ウソ)
くっ、あと1バイトしか使えんのだ!ってなったとき、
でもマイナスの数値は必要だけど、使う数値は -100 〜 +100 までなんだ
ってなったとき、1バイトのsignedを使えば、-128 〜 +127まで入れられるから
1バイトで十分ということになる。
くっ、あと1バイトしか使えんのだ!ってなったとき、
マイナスの数値は必要ないけど、使う数値は 0 〜 +200 までなんだ
ってときは signed では無理だけど unsigned にすればいける
昔のドラクエのゴールドなんか最大65535だけど、
これは、1バイトでは足りないからせめて2バイトで! 3バイトは使いすぎぃ!
ってなったから、これが最大値となった。ドラクエに借金システムはないので
所持金マイナスがないけどsignedを使えば、マイナスが表せる代わりに
最大32767までしか使えなくなる
昔はこのバランスを考えて使用するメモリ量(=変数の型)を決めていたんだよ
486デフォルトの名無しさん
2019/07/19(金) 11:02:38.87ID:ApXEphk2 >>482
重要なことは、C言語とは
限りある資源、リソースを
できる限り無駄の無いように使う言語だということ
数学の2進法により両手10本の指は1024ぐらいまで数えられる
8bit は8本分だな。折りまげるか否かの2択だ
unsigned & signed はマイナスの数をサポートするかどうかだ。
マイナスを扱う必要がないなら2倍の大きさまで同じメモリで扱える
たった2倍だが、限りある資源を活用することにCは熱心なんだ
ポインタはメモリの住所みたいなもの
---
ここまで解説したが、スタートはC 言語じゃなく他の言語でもいいんじゃないか?
速度やメモリ消費の面では劣るが、今どき素晴らしいスペックのハードがでまわっているから
こういう厄介なハードウェアとの付きあいをする言語は使わず、
変数の宣言も無しで書ける言語の方が楽に早く書けてお薦めである
速度やメモリ消費で困ったらCに戻ってくればいい
重要なことは、C言語とは
限りある資源、リソースを
できる限り無駄の無いように使う言語だということ
数学の2進法により両手10本の指は1024ぐらいまで数えられる
8bit は8本分だな。折りまげるか否かの2択だ
unsigned & signed はマイナスの数をサポートするかどうかだ。
マイナスを扱う必要がないなら2倍の大きさまで同じメモリで扱える
たった2倍だが、限りある資源を活用することにCは熱心なんだ
ポインタはメモリの住所みたいなもの
---
ここまで解説したが、スタートはC 言語じゃなく他の言語でもいいんじゃないか?
速度やメモリ消費の面では劣るが、今どき素晴らしいスペックのハードがでまわっているから
こういう厄介なハードウェアとの付きあいをする言語は使わず、
変数の宣言も無しで書ける言語の方が楽に早く書けてお薦めである
速度やメモリ消費で困ったらCに戻ってくればいい
487デフォルトの名無しさん
2019/07/19(金) 11:31:40.61ID:c3TpmWgf 語弊はあると思うが、俺もC言語は勧めんなぁ。
あまりに何でもできるのは、何にもできないのと同じぐらい道に迷う。
チャリで東京から北海道まで行くようなもん。
せめて車乗ってナビ使ったほうが良いと思う。
最初は電車で行っても良い。
なにが作りたいかわからんが、スクリプト言語からやったらどう?
あまりに何でもできるのは、何にもできないのと同じぐらい道に迷う。
チャリで東京から北海道まで行くようなもん。
せめて車乗ってナビ使ったほうが良いと思う。
最初は電車で行っても良い。
なにが作りたいかわからんが、スクリプト言語からやったらどう?
489デフォルトの名無しさん
2019/07/19(金) 21:22:27.47ID:mIHotaYe 曲げられるだろ
>>489
不可能でしょう、小指を曲げると薬指も曲がるのでは?
不可能でしょう、小指を曲げると薬指も曲がるのでは?
491デフォルトの名無しさん
2019/07/19(金) 22:04:42.07ID:dXMkdRGr それよりバルカンのあいさつできない。
492デフォルトの名無しさん
2019/07/19(金) 22:07:20.97ID:WUZnMGgk この話は終わり
493デフォルトの名無しさん
2019/07/19(金) 23:04:15.17ID:ApXEphk2 >>493
す、すごい…
す、すごい…
495デフォルトの名無しさん
2019/07/19(金) 23:43:24.30ID:mIHotaYe >>493
指紋情報ゲットだぜ
指紋情報ゲットだぜ
496デフォルトの名無しさん
2019/07/20(土) 12:24:55.70ID:HcXIBqDX >>487
「就職に役立ちそうだから」だけで勉強始めている人の方が多い感じ
実際にはどんな言語でも何か作ってみてわからないのならその都度ネットで調べるのが一番早いのにな
「基本ができてないから本で勉強」始めてプログラムよりも本の内容を理解することが目的になっている人はこの板でよく見かける
「就職に役立ちそうだから」だけで勉強始めている人の方が多い感じ
実際にはどんな言語でも何か作ってみてわからないのならその都度ネットで調べるのが一番早いのにな
「基本ができてないから本で勉強」始めてプログラムよりも本の内容を理解することが目的になっている人はこの板でよく見かける
497デフォルトの名無しさん
2019/07/20(土) 17:00:41.53ID:NNhBLasf >>496
就職に役に立つレベルなぁ。
そんなもん役に立つわけ無いんだが、何でなんだろう。プログラミングに夢見すぎじゃないのかな。
英語でも英会話教室行ったら突然外国人と商談ができるようになる訳でもあるまいに。
就職に役に立つレベルなぁ。
そんなもん役に立つわけ無いんだが、何でなんだろう。プログラミングに夢見すぎじゃないのかな。
英語でも英会話教室行ったら突然外国人と商談ができるようになる訳でもあるまいに。
498デフォルトの名無しさん
2019/07/20(土) 20:22:55.81ID:OL8/+Dy4 でもそれくらい出来なきゃ話にもならんし
499デフォルトの名無しさん
2019/07/20(土) 20:33:43.64ID:XVHSU7dO 入門書読んでここで質問するような奴は見込みが無いよ
仕事だろうが趣味だろうが他を探したほうがいいね
仕事だろうが趣味だろうが他を探したほうがいいね
500デフォルトの名無しさん
2019/07/21(日) 00:12:13.15ID:BDXTmjgF Hoge h = Hoge();
のコンストラクタを直接呼び出した際と
Hoge h();
に何か違いは生じるのでしょうか?
C++です。
のコンストラクタを直接呼び出した際と
Hoge h();
に何か違いは生じるのでしょうか?
C++です。
501デフォルトの名無しさん
2019/07/21(日) 02:52:45.05ID:E8jCFkZn 上はデフォルトコンストラクタが呼び出された後にコピーコンストラクタが呼び出される
502デフォルトの名無しさん
2019/07/22(月) 11:10:22.54ID:3tinu56U >>498
日本語で商談ができる人間が英会話教室に行くのはわかる。
論理的に考えられてプログラミング「したい事」がプログラミング無しでとりあえず出来るなら、プログラミングを学ぶ価値はある。独学であれ教室であれ。
目的もなく便利そうで学んで出来る事は何も無いって事が言いたかった。
日本語で商談ができる人間が英会話教室に行くのはわかる。
論理的に考えられてプログラミング「したい事」がプログラミング無しでとりあえず出来るなら、プログラミングを学ぶ価値はある。独学であれ教室であれ。
目的もなく便利そうで学んで出来る事は何も無いって事が言いたかった。
503デフォルトの名無しさん
2019/07/22(月) 13:29:02.86ID:glbu48IK オブジェクトとエンティティの区別が分かりゃせん。
504デフォルトの名無しさん
2019/07/29(月) 01:26:20.49ID:ZPgDYf6e プログラミング初心者で恐れ入ります。
C言語では変数を使えば使うほどメモリを消費してしまうと学びました。
VBAなどでも変数を使わず直接計算した方がメモリの使用が減って動作が軽くなる(実感できるレベルかどうかはおいといて)という理解でよいでしょうか?
C言語では変数を使えば使うほどメモリを消費してしまうと学びました。
VBAなどでも変数を使わず直接計算した方がメモリの使用が減って動作が軽くなる(実感できるレベルかどうかはおいといて)という理解でよいでしょうか?
505デフォルトの名無しさん
2019/07/29(月) 06:25:32.11ID:CiwUoNb0 いいよ
506デフォルトの名無しさん
2019/07/29(月) 06:40:29.55ID:Oc41NwST 次は関数呼び出しのオーバーヘッドについて勉強しなさいw
507デフォルトの名無しさん
2019/07/29(月) 12:04:56.16ID:3vvajVS9 足し算でも1サイクル取られるし、割り算掛け算だと運が悪いと数サイクル食う。
ある程度出来上がったものに名前を振って、メモ化しておくと再利用性で総サイクルを減らせる。
ある程度出来上がったものに名前を振って、メモ化しておくと再利用性で総サイクルを減らせる。
508デフォルトの名無しさん
2019/07/29(月) 13:41:42.85ID:Tlfc46Nc >>504
Cであっても関数内でstatic指定したかグローバル変数以外はスタックに割り当てらるしレジスタ上だけで済む場合はわざわざメモリ使わないのであなたが思ってるほどメモリ消費しないかもしれないし
直接計算でも複雑な場合はスタックに一時格納される可能性があります
Cであっても関数内でstatic指定したかグローバル変数以外はスタックに割り当てらるしレジスタ上だけで済む場合はわざわざメモリ使わないのであなたが思ってるほどメモリ消費しないかもしれないし
直接計算でも複雑な場合はスタックに一時格納される可能性があります
509デフォルトの名無しさん
2019/07/29(月) 14:05:09.26ID:uTwSn7VW こういう知識はアセンブラとか勉強すればわかるのかな?
510デフォルトの名無しさん
2019/07/29(月) 14:19:55.56ID:3vvajVS9 コンパイラの構造把握するとか、コンピュータがどういうときにメモリを必要とするとか。
雑学の範囲な気がする。
雑学の範囲な気がする。
511デフォルトの名無しさん
2019/07/29(月) 14:32:34.44ID:CiwUoNb0 雑学って頭おかしいのか
512デフォルトの名無しさん
2019/07/29(月) 14:43:30.51ID:PDSkQK8D 内部動作のソース出して話しているわけじゃないんだから全部憶測だし、それでいいならアセンブラの勉強しとけばいいじゃん
513デフォルトの名無しさん
2019/07/29(月) 14:44:22.33ID:VkmvAKd6 500MBのテキストファイル内容を配列に詰め込んだら
たぶん1GBぐらいメモリー食うんじゃないだろうか
怖くてやってないけど
たぶん1GBぐらいメモリー食うんじゃないだろうか
怖くてやってないけど
514デフォルトの名無しさん
2019/07/29(月) 19:50:28.17ID:NJLA1mNQ >>504
なるべく変数を使わない方がいいという間違った行動規範に従ってクソコードを量産しないでくれればいいな
変数じゃんじゃん使っていいよ
適切に解放できているかが重要だよ
初心者が必要もないのに性能を追求するのはド定番のアンチパターンなんだ
なるべく変数を使わない方がいいという間違った行動規範に従ってクソコードを量産しないでくれればいいな
変数じゃんじゃん使っていいよ
適切に解放できているかが重要だよ
初心者が必要もないのに性能を追求するのはド定番のアンチパターンなんだ
515デフォルトの名無しさん
2019/07/29(月) 21:31:06.61ID:m0YkR+om516デフォルトの名無しさん
2019/07/29(月) 23:35:51.92ID:GANFW+XD つーかどこからそんな嘘情報を仕入れてきたんだろ?
変数はレジスタにアサインされる可能性があるけど
配列はメモリのロード/ストアが発生しちゃうじゃないか
速度はレジスタ>>>>>メモリなんだから一般的にはレジスタを使った方が速い
変数はレジスタにアサインされる可能性があるけど
配列はメモリのロード/ストアが発生しちゃうじゃないか
速度はレジスタ>>>>>メモリなんだから一般的にはレジスタを使った方が速い
517デフォルトの名無しさん
2019/07/29(月) 23:57:29.36ID:4SskHBFS C++で質問です。
下記のソースコードで
「代入します」の表示の後、コンストラクタが呼ばれたのちすぐにデコンストラクタが呼ばれています。
H = 10
でコンストラクタが呼ばれるのはわかるのですが、なぜデコンストラクタが呼ばれているのでしょうか?
また、Hogeクラスのコピーコンストラクタが呼ばれているようではないのに、なぜHインスタンスのメンバ変数Numの値が変更されているのでしょうか?
-ソースコード
class Hoge {
public:
Hoge(int n = 0) :Num(n) { printf("コンストラクタです\t%p\n", this); }
Hoge(const Hoge& Obj) = delete;
~Hoge() { printf("デコンストラクタです\t%p\n", this); }
int Num;
};
int main(int argc, char **argv)
{
Hoge H = 5;
printf("代入します\n");
H = 10;
printf("表示します : %d\n", H.Num);
printf("終了します\n");
}
-実行結果
コンストラクタです 012FF9F0
代入します
コンストラクタです 012FF924
デコンストラクタです 012FF924
表示します : 10
終了します
デコンストラクタです 012FF9F0
下記のソースコードで
「代入します」の表示の後、コンストラクタが呼ばれたのちすぐにデコンストラクタが呼ばれています。
H = 10
でコンストラクタが呼ばれるのはわかるのですが、なぜデコンストラクタが呼ばれているのでしょうか?
また、Hogeクラスのコピーコンストラクタが呼ばれているようではないのに、なぜHインスタンスのメンバ変数Numの値が変更されているのでしょうか?
-ソースコード
class Hoge {
public:
Hoge(int n = 0) :Num(n) { printf("コンストラクタです\t%p\n", this); }
Hoge(const Hoge& Obj) = delete;
~Hoge() { printf("デコンストラクタです\t%p\n", this); }
int Num;
};
int main(int argc, char **argv)
{
Hoge H = 5;
printf("代入します\n");
H = 10;
printf("表示します : %d\n", H.Num);
printf("終了します\n");
}
-実行結果
コンストラクタです 012FF9F0
代入します
コンストラクタです 012FF924
デコンストラクタです 012FF924
表示します : 10
終了します
デコンストラクタです 012FF9F0
518デフォルトの名無しさん
2019/07/30(火) 01:22:41.67ID:1OAIeOP2 >>517
そのコードではprintf("表示します : %d\n", H.Num);以降H自体が使われてなくH.Numは10であるのが明白だから最適化された結果だろうな
Hoge hage(int a, int b)
{
Hoge H(a);
printf("代入します\n");
H = b;
printf("表示します : %d\n", H.Num);
return H;
}
のとでもやればコピーコンストラクタが削除されてるぞとコンパイルエラーが出る
そのコードではprintf("表示します : %d\n", H.Num);以降H自体が使われてなくH.Numは10であるのが明白だから最適化された結果だろうな
Hoge hage(int a, int b)
{
Hoge H(a);
printf("代入します\n");
H = b;
printf("表示します : %d\n", H.Num);
return H;
}
のとでもやればコピーコンストラクタが削除されてるぞとコンパイルエラーが出る
519デフォルトの名無しさん
2019/07/30(火) 06:20:33.32ID:YUaynpL1 C++で質問です。
なんでコピーコンストラクタなんてあるんですか?
こんな面倒くさいものがある言語はC++ぐらいですよ?
なんでコピーコンストラクタなんてあるんですか?
こんな面倒くさいものがある言語はC++ぐらいですよ?
520デフォルトの名無しさん
2019/07/30(火) 07:07:01.50ID:qInRlFut 質問
C#やESなんかでは
言語仕様としてgetterやsetterがサポートされてますよね
getterはともかくsetterの方はメソッドチェーンと相性が悪そうな気がするのですが
普段メソッドチェーン愛用されてる方はこの言語仕様のsetteて活用してますか?
>>519
例によってアドレスのコピーに伴う問題とかあるんじゃねーの
C#やESなんかでは
言語仕様としてgetterやsetterがサポートされてますよね
getterはともかくsetterの方はメソッドチェーンと相性が悪そうな気がするのですが
普段メソッドチェーン愛用されてる方はこの言語仕様のsetteて活用してますか?
>>519
例によってアドレスのコピーに伴う問題とかあるんじゃねーの
521デフォルトの名無しさん
2019/07/30(火) 20:41:13.21ID:dvxaa4vI522デフォルトの名無しさん
2019/07/31(水) 08:07:54.99ID:OMl8MQGh ソースコードを印刷するのに良さそうなフォントってないかな
・無料で使用できる
・コメントに日本語を含む(日本語は良さそうなのがなければ別のフォントでも可)
・Windows
・ボールド、反転する
・無料で使用できる
・コメントに日本語を含む(日本語は良さそうなのがなければ別のフォントでも可)
・Windows
・ボールド、反転する
523デフォルトの名無しさん
2019/07/31(水) 08:48:52.19ID:nXTND5Lv フォントにwindowsもクソもない
524デフォルトの名無しさん
2019/07/31(水) 09:13:46.89ID:m3GsQxAD そうは言ってもpcfとかpfbじゃWindowsでは使い難いだろう
525デフォルトの名無しさん
2019/07/31(水) 09:14:11.42ID:w173sz60 Ricty Discord
526デフォルトの名無しさん
2019/07/31(水) 09:49:12.04ID:nMGHA/y7 Courier New
527デフォルトの名無しさん
2019/07/31(水) 15:08:33.96ID:s8ZT1Cml528デフォルトの名無しさん
2019/07/31(水) 19:24:04.68ID:6kAkP7Im529デフォルトの名無しさん
2019/07/31(水) 21:06:59.45ID:f+elJvUQ コード内容にはあまり意味がなく、「なんとなくプログラムっぽいテキスト」がほしいい場合
あえてMSゴシックなどを使うという手もあるかな
あえてMSゴシックなどを使うという手もあるかな
530522
2019/07/31(水) 23:36:57.91ID:7ZhszA/c ありがと。Ricty Discordは合成しないといけないようなのでDiminishedを使ってみます
531デフォルトの名無しさん
2019/08/01(木) 07:37:45.29ID:osmQ6yAa 先日Unityによって作られたゲームを初めてプレイしたんだけど表現の割にマシンへの負荷が大きいように感じました
1.そのゲーム固有の現象であり適切に作ればネイティブな実装と遜色ないパフォーマンスを発揮できる
2.フレームワークがはさまる以上オーバーヘッドの発生は避けられない
3.その他
どれなんかな?
1.そのゲーム固有の現象であり適切に作ればネイティブな実装と遜色ないパフォーマンスを発揮できる
2.フレームワークがはさまる以上オーバーヘッドの発生は避けられない
3.その他
どれなんかな?
532デフォルトの名無しさん
2019/08/01(木) 08:23:47.07ID:IsO8UtQ9 2であり、1でもある、かな。
フレームワークが存在するからこそ下手なコード書いてオーバーヘッドを産むことも少ないし、
フレームワークをいかに使いこなせるかじゃないかな。
単純にネイティブ実装=早い、ではないよ。
フレームワークが存在するからこそ下手なコード書いてオーバーヘッドを産むことも少ないし、
フレームワークをいかに使いこなせるかじゃないかな。
単純にネイティブ実装=早い、ではないよ。
533デフォルトの名無しさん
2019/08/01(木) 08:45:22.42ID:UexDaqa5 結構前のUnityの講演でだけど
開発当初はキャラクター5人表示がせいぜいだったけど調整したら15人くらいまで行けたわ
ってバンダイナムコの人の話があるね
なんとっ!ユナイト!ミリシタをささえる『AKANE』大作戦とは?
https://app.famitsu.com/20180509_1289991/
(実際の資料や動画も公開されてるようなので興味があれば講演タイトルでぐぐって)
開発当初はキャラクター5人表示がせいぜいだったけど調整したら15人くらいまで行けたわ
ってバンダイナムコの人の話があるね
なんとっ!ユナイト!ミリシタをささえる『AKANE』大作戦とは?
https://app.famitsu.com/20180509_1289991/
(実際の資料や動画も公開されてるようなので興味があれば講演タイトルでぐぐって)
534デフォルトの名無しさん
2019/08/01(木) 14:09:23.21ID:jIKnJvhQ それならネイティブだったら30人くらいいけるけど工数10倍〜100倍掛かるとかそんな感じだろう
どうしたってフレームワークのオーバーヘッドは避けられない
どうしたってフレームワークのオーバーヘッドは避けられない
535デフォルトの名無しさん
2019/08/01(木) 15:09:43.38ID:UexDaqa5 >>534
別にFWのオーバーヘッドがあることは否定しとらん
別にFWのオーバーヘッドがあることは否定しとらん
536デフォルトの名無しさん
2019/08/01(木) 15:13:02.88ID:bR99qXsR 先日Unityによって作られたゲームを初めてプレイしたんだけど
> 表現の割に
どのような表現なのか?
> マシンへの負荷が大きいように感じました
どの程度の負荷なのか?
それがわからんのに答えられるわけがない
> 表現の割に
どのような表現なのか?
> マシンへの負荷が大きいように感じました
どの程度の負荷なのか?
それがわからんのに答えられるわけがない
537デフォルトの名無しさん
2019/08/01(木) 15:38:20.90ID:QRlVNafi そんなの分からなくても答えは変わらない
オーバーヘッドを無くすことは出来ないがそれがどの程度かというはケースバイケースだ
そして正確なところは作った人間にも分からない
オーバーヘッドを無くすことは出来ないがそれがどの程度かというはケースバイケースだ
そして正確なところは作った人間にも分からない
538531
2019/08/01(木) 23:16:32.23ID:9sMOQV+c 1.ゲームエンジンが裏で何しているかを考慮しながら開発しないと高効率は望めない
2.何かがはさまる以上一定のオーバーヘッドは発生する
ということなのかな
ちなみにそのゲームですが表現的にはDirectX8あたり?で頂点数も1000もなさそうなのにPCがやたらがうなります
画面は箱と板にテクスチャが貼ってあるだけのシンプルな物です。特殊効果も使われているようには見えませんし
2.何かがはさまる以上一定のオーバーヘッドは発生する
ということなのかな
ちなみにそのゲームですが表現的にはDirectX8あたり?で頂点数も1000もなさそうなのにPCがやたらがうなります
画面は箱と板にテクスチャが貼ってあるだけのシンプルな物です。特殊効果も使われているようには見えませんし
540デフォルトの名無しさん
2019/08/02(金) 14:28:01.11ID:NVKAYXyA フレームワーク云々でなくて、単にvsyncがoffになっててGPUが全開で回ってるだけだったりして
541デフォルトの名無しさん
2019/08/06(火) 07:39:15.67ID:pONItBAd 入門サイトにあるhttp://ideone.com/YyFypJのC言語のコードを実行すると
型cont char*値を使用してchar*のエンティティを初期化することはできません。とエラーが出て実行出来ないんですけど
どうすれば実行できるようになりますか?
10行目の前のconstを入れてみたりはしたんですけどそれでも駄目で。
使ってるのはVisualstudio2019です
型cont char*値を使用してchar*のエンティティを初期化することはできません。とエラーが出て実行出来ないんですけど
どうすれば実行できるようになりますか?
10行目の前のconstを入れてみたりはしたんですけどそれでも駄目で。
使ってるのはVisualstudio2019です
542デフォルトの名無しさん
2019/08/06(火) 09:46:02.94ID:B387Kalp DNSサーバのレンタルサービスがありますが、これは何ですか?
DNSサーバってネット上のどこかにあって、ユーザが意識しなくてもドメイン名とIPアドレスを正しく結びつけるものだと思いますが、
自分でDNSサーバをレンタルする動機って何ですか?
yahoo.comにgoogle.comのIPアドレスを結び付けたりとか変則的なことをするんですか?
DNSサーバってネット上のどこかにあって、ユーザが意識しなくてもドメイン名とIPアドレスを正しく結びつけるものだと思いますが、
自分でDNSサーバをレンタルする動機って何ですか?
yahoo.comにgoogle.comのIPアドレスを結び付けたりとか変則的なことをするんですか?
543デフォルトの名無しさん
2019/08/06(火) 13:13:12.52ID:trr4oLNQ 1.1.1.1とか8.8.8.8がお前のunko.example.comができた事を知り、自動的にAレコードをDNS鯖に追加するなら動機はないが、そうではない場合何らかの手法でunko.example.jpをIPアドレスに変換する必要がある
544デフォルトの名無しさん
2019/08/06(火) 17:15:36.05ID:B387Kalp545デフォルトの名無しさん
2019/08/06(火) 17:41:53.66ID:9obbnMlM >>544
間違い(笑)
間違い(笑)
546デフォルトの名無しさん
2019/08/06(火) 17:51:26.49ID:B387Kalp547デフォルトの名無しさん
2019/08/06(火) 19:30:41.85ID:6OOXAacv >>541
そのエラーメッセージでGoogle検索すると実行できるようになる
そのエラーメッセージでGoogle検索すると実行できるようになる
548デフォルトの名無しさん
2019/08/06(火) 19:36:29.08ID:ywkGXHHX 自分でDNS立てる動機がわからないのか
社内SEになった自分を想像して羽ばたけ
社内SEになった自分を想像して羽ばたけ
549デフォルトの名無しさん
2019/08/06(火) 22:38:04.50ID:8h96sAQZ550デフォルトの名無しさん
2019/08/06(火) 23:01:56.05ID:pzsqCCUt このスレよりも、初心者向けC のスレで聞けば?
551デフォルトの名無しさん
2019/08/06(火) 23:27:35.68ID:fIsBh/Ce 若い衆がJavaを今から覚える気はないとのたまう
世間に踊らされているようだ
ナウいTypeScriptかPythonを
レガシーな現場になんとか導入してやらせてやろうと思うのだが
うまい口実はないものだろうか
世間に踊らされているようだ
ナウいTypeScriptかPythonを
レガシーな現場になんとか導入してやらせてやろうと思うのだが
うまい口実はないものだろうか
552デフォルトの名無しさん
2019/08/06(火) 23:32:10.53ID:0BOv5nCj お前が信用されてないんだろ
553デフォルトの名無しさん
2019/08/06(火) 23:45:19.53ID:NjRkjGa+ 言語なんて必要に迫られて覚えるのでいいんじゃないの?
554デフォルトの名無しさん
2019/08/06(火) 23:53:37.38ID:Uq1zh0Vl >>551
コードといっしょで整理する必要がある
まずなんで話を聞かないといけないかをはっきりさせる
たとえば、現場の問題点のリストとかで
次に何をするかをはっきりさせる
例えば pythonなどが何を解決する? その考えられる具体例は
そしてなぜpython にした。つまり何が他と違う?
以上を簡約化して3つ以下の要素にまとめると?
コーディングのように全体を俯瞰できる抽象化は
会話でも理解しやすさに繋がる
コードといっしょで整理する必要がある
まずなんで話を聞かないといけないかをはっきりさせる
たとえば、現場の問題点のリストとかで
次に何をするかをはっきりさせる
例えば pythonなどが何を解決する? その考えられる具体例は
そしてなぜpython にした。つまり何が他と違う?
以上を簡約化して3つ以下の要素にまとめると?
コーディングのように全体を俯瞰できる抽象化は
会話でも理解しやすさに繋がる
555デフォルトの名無しさん
2019/08/07(水) 00:18:16.88ID:SFXJyJPu Ruby は、アマゾン・Google, Heroku で、採用されてる!
Ruby on Rails 6 (Ruby 2.5 以上)では、GitHub 中心で、
複数データベース(レプリカ)接続の大規模サービスと、
テストの並列実行など、別次元へ行ってしまった!
モジュールバンドラーも、Webpack になりました!
Coffee Script は、無くなった
メール送受信の機能と、
ブラウザの入力フォームが、ドラッグ&ドロップで、ファイルも受け付けるようになった
Ruby on Rails 6 (Ruby 2.5 以上)では、GitHub 中心で、
複数データベース(レプリカ)接続の大規模サービスと、
テストの並列実行など、別次元へ行ってしまった!
モジュールバンドラーも、Webpack になりました!
Coffee Script は、無くなった
メール送受信の機能と、
ブラウザの入力フォームが、ドラッグ&ドロップで、ファイルも受け付けるようになった
556デフォルトの名無しさん
2019/08/07(水) 12:37:01.79ID:u0NlqDQ2 >>549
constは変数の型につけるものだから4行目の「char *name;」を「const char *name;」にすれば解決する
constは変数の型につけるものだから4行目の「char *name;」を「const char *name;」にすれば解決する
557デフォルトの名無しさん
2019/08/07(水) 15:58:57.91ID:BR8qTk08 今、Windows Driver Kit を使うような常駐プログラムを書くとしたら何がいいんでしょうか
C++で以前は書いていたのですが、違う言語でやってみようと思います。
C++で以前は書いていたのですが、違う言語でやってみようと思います。
559蟻人間 ◆T6xkBnTXz7B0
2019/08/07(水) 16:31:22.53ID:zfnuKz1T D言語も捨てがたい。
560デフォルトの名無しさん
2019/08/07(水) 17:47:36.61ID:BR8qTk08 >>558-559
ありがとうございます。
windowsのライブラリに依存するプログラムという意味で聞いたのですが
具体的に言うとwindows10 bluetooth機能です。
教えていただいた言語でそこまで対応できますでしょうか
ありがとうございます。
windowsのライブラリに依存するプログラムという意味で聞いたのですが
具体的に言うとwindows10 bluetooth機能です。
教えていただいた言語でそこまで対応できますでしょうか
561蟻人間 ◆T6xkBnTXz7B0
2019/08/07(水) 18:23:47.60ID:zfnuKz1T >>560
DLL importが可能な言語ならば、インターフェースを記述すれば可能。
DLL importが可能な言語ならば、インターフェースを記述すれば可能。
562デフォルトの名無しさん
2019/08/08(木) 18:51:48.48ID:eREv7yxY 以下のようなtest.csvについて
---------------
1,2,3,4
---------------
コマンドプロンプトで2番目の要素を取得しようと以下コマンドを入力しましたが、
powershell -Command "Get-Content test.csv | ($_.split(','))[1] "
エラー「パイプラインの最初の要素としてのみ許可されます。」が出力され、実行できません。
原因と対処を教えていただけませんでしょうか。
PowerShellの場合、以下でできました。
====================================
$str = Get-Content c:\test.csv
$str.split(',')[2]
3
$
====================================
---------------
1,2,3,4
---------------
コマンドプロンプトで2番目の要素を取得しようと以下コマンドを入力しましたが、
powershell -Command "Get-Content test.csv | ($_.split(','))[1] "
エラー「パイプラインの最初の要素としてのみ許可されます。」が出力され、実行できません。
原因と対処を教えていただけませんでしょうか。
PowerShellの場合、以下でできました。
====================================
$str = Get-Content c:\test.csv
$str.split(',')[2]
3
$
====================================
563デフォルトの名無しさん
2019/08/08(木) 19:01:14.44ID:wuqPh35H インデックスが「0」開始の予感。
564デフォルトの名無しさん
2019/08/08(木) 19:35:53.91ID:ggjVn3y2565デフォルトの名無しさん
2019/08/08(木) 19:49:37.77ID:eREv7yxY566デフォルトの名無しさん
2019/08/08(木) 21:07:16.53ID:Dxufm4Tv >>565
✕ | ($_.split(','))[1]
○ |% ($_.split(','))[1]
パイプラインを流れるのはコレクションだから
get-contentで通常取得出来るのもコレクションだから
csvが1行だとしても決め打ちコードは良くない
✕ | ($_.split(','))[1]
○ |% ($_.split(','))[1]
パイプラインを流れるのはコレクションだから
get-contentで通常取得出来るのもコレクションだから
csvが1行だとしても決め打ちコードは良くない
567デフォルトの名無しさん
2019/08/08(木) 21:17:40.95ID:gHNDo6wM C言語のポインタで
構造体の中で char *a; でメンバを入れてその後 bc.a=なんちゃら〜 で中身を入れれる意味がわかりません(bcは適当)
この時のaはchar型のアドレスを入れる用の箱じゃないんですか?
構造体の中で char *a; でメンバを入れてその後 bc.a=なんちゃら〜 で中身を入れれる意味がわかりません(bcは適当)
この時のaはchar型のアドレスを入れる用の箱じゃないんですか?
568デフォルトの名無しさん
2019/08/08(木) 21:47:05.37ID:/tBUMiMq %, foreach は、PowerShell(PS)のalias。
PSの質問は、PSのスレへ書き込んでください!
get-alias (gal)
gal -name %
出力
Alias % -> ForEach-Object
gal | where-object {$_.Definition -match "foreach"}
出力
Alias % -> ForEach-Object
Alias foreach -> ForEach-Object
PSの質問は、PSのスレへ書き込んでください!
get-alias (gal)
gal -name %
出力
Alias % -> ForEach-Object
gal | where-object {$_.Definition -match "foreach"}
出力
Alias % -> ForEach-Object
Alias foreach -> ForEach-Object
569デフォルトの名無しさん
2019/08/09(金) 00:57:03.25ID:iJcAE9U/ >>567
は、C のスレへ移動したので、返答を書き込まなくてよい!
は、C のスレへ移動したので、返答を書き込まなくてよい!
570デフォルトの名無しさん
2019/08/09(金) 10:07:12.07ID:Tb5/wLIS >569
向こうでも煙たがられてるな。
向こうでも煙たがられてるな。
571デフォルトの名無しさん
2019/08/10(土) 18:09:27.65ID:RObDNSnB Scalaは関数型言語ですか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否★6 [夜のけいちゃん★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 ★3 [蚤の市★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★5 [蚤の市★]
- 自民、経済対策で子ども1人に2万円給付へ 児童手当に上乗せ 所要額は約4000億円 [ぐれ★]
- 解体ごみ約2.3トンを山に不法投棄か トルコ国籍解体工を逮捕 埼玉 [どどん★]
- 【緊急】高市早苗 月内辞任か [695089791]
- 僕たちが子供の頃に通い詰めた本屋、ゲームショップ、レンタルCD・ビデオ屋、思い出とともにこの国から消え去ってしまう… [452836546]
- 【速報】中国、水産物輸入停止 [527893826]
- 【高市悲報】官房長官「局長がペコペコしてる画像が拡散しているが日本は承知しとらん😡中国に申し入れした!」🤔 [359965264]
- 【悲報】高市早苗さん、たった一人で日本を崩壊へ導く [714769305]
- 【悲報】「やったー!こだわりまくった洋館仕立ての家を建てたぞ!」➡「「離婚したんで住まずに売ります……」 [158478931]
