[過去ログ] 【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
71: デフォルトの名無しさん [sage] 2016/11/11(金) 08:32:07.55 ID:JclCvFO1(2/2) AAS
>nullptrに型が有るのか無いのか
この手の文法で型が無い落とし穴は初期化の { } ぐらいか
int a = {0}; // 「{0}」は式でなく型も無い
139
(1): 133 [sage] 2016/12/31(土) 19:18:21.55 ID:8v6iajLL(2/2) AAS
>>138
138(1): デフォルトの名無しさん [sage] 2016/12/31(土) 18:30:26.25 ID:K1FrsN4c(1) AAS
>>133
その本がダメなコードの例としてそれを挙げてるならいいけど、正解としてそれを書いてるのなら、著者の能力とか校正の正確さとか不安になる。
正解例です
>>135
135(1): デフォルトの名無しさん [sage] 2016/12/31(土) 17:17:13.63 ID:Z7Smo6OK(1) AAS
*str++ = toupper(*str); でダメなら
*str = toupper(*str++); で動くんじゃない?

……って真に受けるなよ。別の悪魔が出てくるだけだからな。
たとえ期待通りの動作になったとしても、たまたまだからな。
下でダメだったので正解を見たら上になってて、そうかとそうかと思ったのですが…
>>134
134(2): デフォルトの名無しさん [sage] 2016/12/31(土) 16:20:34.34 ID:ADMXNhyN(1/2) AAS
*str++ = toupper(*str);

これ鼻から悪魔コード
インクリメント演算子で操作された変数が副作用完了点までに複数回参照するのは動作未定義

*str = toupper(*str);
str++;
と分離しないとまずい
ありがとうございます
初心者なので更に勉強してみます
144: デフォルトの名無しさん [sage] 2017/01/01(日) 12:42:18.55 ID:/LG195GI(1) AAS
str_toupperでググると正しいコードはあるけど >>133
133(4): デフォルトの名無しさん [sage] 2016/12/31(土) 16:11:48.53 ID:8v6iajLL(1/2) AAS
ある本の解答例ですが実行すると先頭文字が消えます。これではダメなんでしょうか?
void str_toupper(char *str)
{
while (*str)
*str++ = toupper(*str);
}
は見つからないなあ。結局なんて本?
147
(4): デフォルトの名無しさん [sage] 2017/01/04(水) 01:18:25.55 ID:frbRBuKj(1) AAS
副作用完了点が2つ以上あると鼻から悪魔
304
(1): デフォルトの名無しさん [sage] 2017/02/01(水) 13:25:07.55 ID:HL/HxBhd(2/2) AAS
外部リンク[html]:kokufu.blogspot.jp
これとかの雰囲気だと
「受信」で作った側のPCのソフトを先に立ち上げて接続待ちにして(SPPサーバー)
「送信」で作った側のPCを後追いで接続 かなぁ
力になれなくてすまん
321
(1): デフォルトの名無しさん [sage] 2017/02/02(木) 19:38:57.55 ID:WkIFQVuy(2/2) AAS
こんな感じだろ
ソースからobj生成: VSプロジェクトでなくていい
VSプロジェクト
1. objからexe作るVSプロジェクト (結果OK)
2. objからlib作るVSプロジェクト (3.がNGで、本当にうまくlib作れたかわからず)
3. 上のlibからexe作るVSプロジェクト (exeが例外でNG)
334
(3): デフォルトの名無しさん [sage] 2017/02/04(土) 21:25:32.55 ID:uqEM2LY/(1/2) AAS
int a = 0;
int *b = &(1+a);
これが出来ないのはなぜですか?
1+aの計算結果というのはメモリ上のどこかにあると思うんですが
368: デフォルトの名無しさん [sage] 2017/02/07(火) 19:45:06.55 ID:R+lISOuU(1) AAS
>>364
364(1): デフォルトの名無しさん [sage] 2017/02/07(火) 11:15:58.10 ID:bjgueVwS(1) AAS
register云々してるやつはCかC++か区別して書け
register変数のアドレスを取る話をしてるわけじゃないのに
いきなりどうした
396: デフォルトの名無しさん [sage] 2017/02/09(木) 20:34:41.55 ID:wAatsUnZ(1) AAS
今、キーワードとして問題ないからそのままにしておくってことだろ
一旦キーワードでなくしてしまうと将来また使いたくなった時に大混乱するから
404
(1): デフォルトの名無しさん [sage] 2017/02/11(土) 18:51:03.55 ID:jl0P82O4(1) AAS
インデントや{}のスペース・改行でも自分のやり方と違うと喚きそうだなw
532
(1): 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/03/30(木) 23:51:55.55 ID:2hi+y029(1) AAS
デフォルトコピーコンストラクターとか構造体代入とか知らないんだろう。
609: デフォルトの名無しさん [sage] 2017/04/09(日) 23:00:21.55 ID:gthRNL4S(1) AAS
むしろそうして欲しいかな
勿論ブロックスコープは意識してる前提で
660
(1): 653 [sage] 2017/05/23(火) 15:21:53.55 ID:Ek6JChT/(1) AAS
>>656
656(2): デフォルトの名無しさん [] 2017/05/23(火) 12:45:18.14 ID:hcbwXZ+h(1) AAS
>>653
横からだけど、それまじ?
出来れば、規格で書かれてる場所教えて欲しい。

不安に思いながらも、一個作っちゃったんだよな…
動作確認済みだから、直ちに問題があるわけではないんだけど、未定義と聞くと将来的には修正しておきたい…
俺もworking draftしかないけどn3690の5.3.5の3段落目

In the first alternative (delete object), if the static type of the object to be deleted is different from its
dynamic type, the static type shall be a base class of the dynamic type of the object to be deleted and the
static type shall have a virtual destructor or the behavior is undefined.
928: デフォルトの名無しさん [sage] 2017/07/13(木) 01:06:35.55 ID:+2MHjXyv(1) AAS
>>912-914は基礎的なところで間違った理解をしていると
そのうえに乗っかるすべてのものについて間違った理解をすることしかできなくなるという見本のようだ
938: デフォルトの名無しさん [sage] 2017/07/13(木) 20:27:20.55 ID:bV5zFMan(1) AAS
>>932
932(2): デフォルトの名無しさん [] 2017/07/13(木) 18:16:27.80 ID:PDgj9Ebq(1/2) AAS
#include<stdio.h>
#include<string.h>
#define NUM 10
int main(void) {
int length;
char name[NUM * 2 + 1];
char family_name[NUM + 1];
char first_name[NUM + 1];
printf("姓を入力してください\n");
scanf("%s", family_name);
printf("名を入力してください\n");
scanf("%s", first_name);
strcat(name, family_name);
strcat(name, first_name);
length = strlen(name);
printf("名前:%s\n", name);
printf("長さ:%d\n", length);
return 0;
}
このプログラムで入力まではちゃんとできてるみたいなんですがstrcatのところでおかしくなって
結合結果がフフフフフフフってなります。どうしてでしょうか?
俺のところで試してみたらフフフノフフフになった
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s