[過去ログ] 【初心者歓迎】C/C++室 Ver.106【環境依存OK】 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
101(1): 2020/08/09(日)12:17 ID:q7SdW+2C(2/2) AAS
>>99
まずキャストが「標準変換」しか「サポート」しないというその前提はどこから出てきたのか示すのが先でしょ。
外部リンク[cast]:timsong-cpp.github.io
102(1): 2020/08/09(日)12:26 ID:5wTPapRC(3/5) AAS
>>100
draftを見たら、実引数から仮引数への標準変換が有る場合には、暗黙の型変換
となりえて、viable function となり、かつ、標準変換には
char ---> int だけでなく、int ---> char の変換も含まれているらしいことが
分かりましたが、確認のため、VC++ 2019でチェックしてみました。
>>101
やはり、「(型)値」の形式を筆頭とする明示的型変換には、標準変換以外でも
「組み込みの変換(キャスト)」
が有るのかも知れませんね。
これは始めて知りました。
103: 2020/08/09(日)12:29 ID:5wTPapRC(4/5) AAS
>>102
最後、何が言いたいかと言うと、
『「組み込みの変換」には、「標準変換」には含まれていない変換も含まれている。』
ということです。
CBase*--->CDerived*
は、「標準変換」には含まれていませんが、「組み込みの変換」には含まれているということです。
また、それとは別に、int--->charは、危険を招くことがあるにも関わらず、「標準変換」
に含まれてしまっていると言うことです。
104: 2020/08/09(日)13:40 ID:3E+EuOxc(1) AAS
CBase* は CDerived* から変換したものかもしれないから変換可能なのが自然だろう。アップキャストとは違って暗黙にはされないし。
C式のキャストはチェックは継承関係をチェックしないがC++のキャストはするしな。
105: 2020/08/09(日)15:59 ID:EBrjBl58(1) AAS
char と int は cast されてる訳じゃないからな
106: 2020/08/09(日)18:28 ID:5wTPapRC(5/5) AAS
みなさま、色々と有難うございました。
今回はこれで質問を閉じたいと思います。
107(1): 2020/08/11(火)07:34 ID:DHq4+2OG(1) AAS
マンぐり返しってなんですか?
108: 2020/08/11(火)14:53 ID:RaTUar/r(1) AAS
>>107
外部リンク[php]:ja.wikipedia.org
109: 2020/08/13(木)15:42 ID:Tr7DEHMo(1) AAS
初心者なんですけど、tupleって使ってますか?
110: 2020/08/13(木)15:49 ID:hDTlT7Ky(1) AAS
tuple も tie も便利よ
111: 2020/08/13(木)18:45 ID:Mkk4UD94(1) AAS
tupleは型リストとして良く使うな
112: 2020/08/15(土)00:15 ID:VOQ0TGNs(1) AAS
回答ありがとうございます
使って人いて安心しました
113: 2020/08/15(土)01:10 ID:cZ2se/D1(1) AAS
自分は構造体で間に合ってるからまだタプルの恩恵に与ったことない
114: 2020/08/15(土)19:36 ID:YDp7CJXQ(1/4) AAS
超ド素人の質問ですみません。
外部リンク:stackoverflow.com
このURLのサンプルコードをコンパイルすると、以下のエラーが発生します。
引数の型がおかしいんでしょうか?
何が悪いのか?どう修正したら良いかわかりません。教えて下さい。
[bcc32c エラー] File1.cpp(37): no matching function for call to 'InitializeProcThreadAttributeList'
processthreadsapi.h(650): candidate function not viable: no known conversion from 'std::size_t *' (aka 'unsigned int *') to 'PSIZE_T' (aka 'unsigned long *') for 4th argument
このURLの中の質問者の現象の再現をしたいのです。
115: 2020/08/15(土)19:50 ID:5gsdnDz9(1) AAS
読んだままだろ
cbの型が合っていないといっているからcbの型をSIZE_Tにすりゃ良いんでないかい
116: 2020/08/15(土)20:10 ID:YDp7CJXQ(2/4) AAS
ほうほう。で、どうやって?
言っとくが私はC言語をポインタで挫折した男だ!!
117(1): 2020/08/15(土)20:16 ID:MrJ6yMOt(1) AAS
PSIZE_Tとやらじゃね
main関数の中の
size_t cb;
これを
PSIZE_T cb;
にするだけ?
118: 2020/08/15(土)20:21 ID:YDp7CJXQ(3/4) AAS
>>117
ありがとう。
でもエラーが以下に変わっただけでした。
processthreadsapi.h(650): candidate function not viable: no known conversion from 'PSIZE_T *' (aka 'unsigned long *') to 'PSIZE_T' (aka 'unsigned long *') for 4th argument
119: 2020/08/15(土)20:25 ID:YDp7CJXQ(4/4) AAS
あ、PSIZE_Tじゃなくて、SIZE_Tにしたら行けました!!
大文字小文字の間違いだったってことですか?
とにかくありがとうございました!!
120: 2020/08/29(土)01:18 ID:2rJgngxa(1/2) AAS
変数やら関数にtemplate指定するのに一々上に記述するのが面倒なんですが、スコープ内で一括指定するみたいな記法ってありますか?
121: 2020/08/29(土)01:27 ID:ayWkdCf9(1) AAS
typedef HogeT<Fuga> Piyo;
とかこういうこと?
122: はちみつ餃子 ◆8X2XSCHEME 2020/08/29(土)01:35 ID:2JVy7qNC(1) AAS
typedef でも害はないけどusing を使うのがモダンな方法やぞ。
C と共用するヘッダファイル (または C++11 未満の規格に従わざるを得ない場合) を除いては typedef を使う理由はもう無い。
123: 2020/08/29(土)01:45 ID:2rJgngxa(2/2) AAS
template<typename foo>
foo bar[256];
template<typename foo>
foo baz();
を仮に
template<typename foo>{
foo bar[256];
foo baz();
}
みたいな感じで
124: 2020/08/29(土)10:19 ID:HmjSn9P9(1) AAS
foo bar[256], baz();
125(1): 2020/08/30(日)16:59 ID:6dVOYYO/(1/2) AAS
列挙型を宣言した後に構造体型で列挙型の変数を作成、
列挙型の変数はキーボードから入力できないので、構造体型にキーボードから入力するための変数を作成、
その値によって列挙型の変数に代入、
動的にメモリを確保して列挙型を入力、後に出力
これが上手く動作しないです助けてください
126: 2020/08/30(日)17:04 ID:6Ogy6ZZb(1) AAS
コード晒せよ
127: 2020/08/30(日)17:18 ID:6dVOYYO/(2/2) AAS
#include<iostream>
using namespace std;
enum Type{Tec, Des, NA};
struct Human{
Type type;
char ans;
};
int n; char* pA;
void dataInput(Type& tp){
for(int i=0;i<n;i++){
省15
128: 2020/08/30(日)17:35 ID:7nTpFOtc(1) AAS
>>125 外部リンク[html]:www.ranvis.com
129(1): 2020/08/30(日)17:52 ID:sTqYAgvH(1) AAS
複数のLEDをリズミカルに光らせるプログラムを書いております。
現在は赤、青2色で色々遊んでおります。
'' __delay_ms(100);''
って感じの関数(用語?)を覚えまして、各パート毎に点灯時間、消灯時間を打ち込みました。
で、実行してみた所、1パートの青LEDが全て点滅し終わった後で2パートの赤LEDの
点滅に移る形になってしまいました。
赤、青LEDには各1個づつPICマイコンのピンを振ってありますので
スタティック制御ができるんだと思いますが、その制御(点滅)を同時に開始出来る
文(?)を教えて頂きたいと思います。
よろしくお願いします。
130: 2020/08/30(日)17:59 ID:GgAZZaQa(1/2) AAS
ここで暴れてる人か
2chスレ:tech
131: 2020/08/30(日)18:03 ID:GgAZZaQa(2/2) AAS
>>129
PICの質問なら電気電子板の方が良いぞ
132(1): 2020/08/30(日)18:11 ID:bozI2ZZf(1/2) AAS
tp.ansで入力された値によって対応した識別子を出力させたいのですが、charでは1文字しか出力できないので手詰まりになってます。どなたかご助言頂けないでしょうか。
133(1): 2020/08/30(日)18:26 ID:zSKZhw1k(1) AAS
>>132 これじゃダメ?
#include <iostream>
#include <string_view>
enum class Type{ Tec, Des, NA };
struct Human{ Type type; }
Type to_type(std::string_view s) noexcept {
if (s == "Tec") : return Type::Tec;
if (s == "Des") : return Type::Des;
// Expects(s == "NA");
return Type::NA;
省13
134: 2020/08/30(日)20:44 ID:bozI2ZZf(2/2) AAS
>>133
アドバイスありがとうございますm(_ _)m
ごめんなさい!_が何かは理解できましたが、autoが難解でよくわかりませんでした...
135: 2020/08/31(月)10:54 ID:pX0ZQbZW(1) AAS
auto は甘え
136(2): 2020/09/03(木)14:13 ID:PYkyhK1l(1) AAS
mainのスレッドをCPUハグなしに無限に一時停止しておく方法はありますか?
137: 2020/09/03(木)14:26 ID:DK3Ul6vK(1) AAS
ハゲ
138: 2020/09/04(金)12:14 ID:zd548qQ8(1) AAS
>>136
目いっぱいsleep_forしてループで回す
139: 2020/09/05(土)12:38 ID:wi57tP1l(1) AAS
>>136
無限に実行されるサブスレッドの終了を待つ。
140: 2020/09/06(日)09:31 ID:2h7jeAag(1) AAS
mainからWinMainを呼ぶことも可能
WinMainが動いてる間はmainは止まってるよ
強制的に一時停止させるならPauseキー
141(2): 2020/09/07(月)16:47 ID:I5P3h+Uu(1) AAS
cmakelistsでメモリ関連の設定の仕方をご教授いただけないでしょうか。
142: 2020/09/08(火)00:01 ID:vx/b5nCh(1) AAS
>>141
もっと具体的に
143: 2020/09/08(火)03:22 ID:jacy6RM2(1) AAS
マルチっぽい
144: 2020/09/10(木)22:29 ID:XqO8hjOE(1) AAS
>>141
はい
145(1): 2020/09/19(土)19:53 ID:k5fZduun(1/2) AAS
linuxでvswprint()使ってみたんだが、事前に必要なバッファサイズがわからない場合の求め方がわからん。
1. vsnprintf() と同じように nullptr を渡してみた
⇒必要サイズじゃなくてエラーの-1が返ってきた
2. 仮のサイズで呼び出して領域不足のエラーなら増やす方針にした
⇒エラーが領域不足なのか他のエラーなのか見分けがつかない(errno=0のまま)
どうすりゃいいんだろう?
146: 2020/09/19(土)19:54 ID:k5fZduun(2/2) AAS
×vswprint()
〇vswprintf()
147(1): 2020/09/19(土)22:28 ID:4o2U5hp6(1) AAS
cppreferenceにはエラーが消えるまで再確保&呼び出しやり直す必要があるかもねって書いてある
148(2): 2020/09/20(日)03:23 ID:Suv1r7e5(1/2) AAS
C++のコードを拾ってきてコンパイルしたら、構造体の初期化で non-trivial designated
initializers not supported というエラーになってしまいます。
例えば typedef struct _Hoge { int a; int b; int c; } Hoge; みたいなときに
Hoge hoge = { .b = 1, .c = 2, }; みたいにメンバーが省略されていると駄目のようです。
でも元のプロジェクトではコンパイルできてるっぽいです。
自分の側では諸般の事情(?)でg++ 7.5.0で-std=c++1zでコンパイルしています。
上記のエラーを避けるにはどういう方法があるでしょうか?
149(1): はちみつ餃子 ◆8X2XSCHEME 2020/09/20(日)04:34 ID:7quNJlhN(1/2) AAS
>>148
C++ の規格としてその書き方が採用されたのは C++20 から。
(余談だが C だと C99 から出来る。)
それらの規格に準拠したコンパイラ (より新しいバージョンの g++) を用意するか、
でなければ古いスタイルの書き方で初期化するしかないという普通のことしか言えぬ。
150(1): 2020/09/20(日)07:17 ID:Suv1r7e5(2/2) AAS
>>149
どうもです。いえ、何かコンパイラーオプションとかあるのかなと思いまして。
ちなみに新しい書き方の場合
1. 全ての要素を
2. 宣言と同じ要素順序で初期化
しないといけない、で正解ですかね? 1.の縛りは未初期化要素を避けるため?
とりあえず Hoge hoge; hoge.b = 1; とか書き直して逃げておこうかと思います。
151: 145 2020/09/20(日)08:00 ID:OXACXz1O(1) AAS
>>147
ありがとう。なるほど、代替手段が無いとも書いてあるね。
formatにエラーがある場合はどこかで打ち切らなきゃならないか。
152: はちみつ餃子 ◆8X2XSCHEME 2020/09/20(日)12:32 ID:7quNJlhN(2/2) AAS
>>150
> 1. 全ての要素を
いいえ。 要素の初期化を一部省略して書いた場合は
デフォルトメンバ初期化子 (があればそれ) で初期化するか
あたかも {} が与えられたかのようになります。
つまり >>148 の例でいえばデータメンバ a は 0 で初期化される
ことが保証されます。
> 2. 宣言と同じ要素順序で初期化
はい。 その通りです。
省4
153: 2020/09/22(火)21:06 ID:qIJInCqV(1) AAS
gdb で、カレントディレクトリに .gdbinit を作って "b func" を記述したんですが、
funcが共有ライブラリの中にあると、funcがまだロードされてないので無視されますよね?
対話的に追加する場合はyを押して強制追加できますが、.gdbinit の中だとデフォでnが
選ばれるようです。.gdbinit の中での強制(自動)追加は可能でしょうか?
ちなみに ~/.gdbinit で add-auto-load-safe-path というのはやってあります。
ググったらありそうですが見つけられず... お願いします。
154(1): 2020/09/23(水)18:31 ID:a8yFZa5Q(1/3) AAS
「C++には特にこれ!と言えるような入門書がない」という書き込みを見たのですが、そうだとしたらC++を習得した人は初学者のときどうやって技術を身につけていったのでしょうか?
155(1): 2020/09/23(水)18:36 ID:a8yFZa5Q(2/3) AAS
「ロベールのC++入門講座(ロベール著)」と「明解C++入門編(柴田望洋著)」を買ったけどこれでいいのかな…
156(1): はちみつ餃子 ◆8X2XSCHEME 2020/09/23(水)18:37 ID:2N0Iktsg(1/2) AAS
>>154
絶対確実というようなものは挙げられないけど、ほどほどのものはたくさんあるよ。
157: 2020/09/23(水)18:37 ID:avHWzJtR(1) AAS
1. 既に C を覚えて使いこなしてた
2. Eiffel を学んだ
3. C++ は better than C として使った
4. template を学んだ
5. Perl を学んだ
6. Python を学んだ
7. D を学んだ
8. C# 悪くないね
158(2): はちみつ餃子 ◆8X2XSCHEME 2020/09/23(水)18:45 ID:2N0Iktsg(2/2) AAS
>>155
C++ の規格はちょくちょく改定されてて、特に 2011 年の改定はインパクトが強かったんだ。
入門の範囲にすらいくらかの影響がある程度には。
それより古い本だと (今となっては) 不格好なスタイルになっているかもしれない。
159: 2020/09/23(水)18:51 ID:a8yFZa5Q(3/3) AAS
>>156
なるほど
ほどほどのもので学んでいった感じですかね
>>158
参考になります!
ありがとうございます
160: ◆QZaw55cn4c 2020/09/23(水)20:09 ID:J9lXF67O(1) AAS
>>158
私は、もう年を取ってもう新しい規格にはついていけないと悟ったので、せめて初心者のための本を買ってレビューする余生を過ごそうと思っています
そういえば江添本を放置してましたね、10/4 の資格試験が終わったら、あらためて江添本をレビューするつもりです
161(1): 2020/09/28(月)19:18 ID:QruIJ5oN(1/2) AAS
今読んでいる入門書の例題です
時間計算機で9時45分の1時間25分後を計算するには以下のように入力します
945+125=
11:10
外部リンク:codepad.org
ところが実行してみるとVC++では0:10、mingwでは0:70という結果が出ます
掲載されたソースと見比べても違いはないようなのでお手上げです
教えて下さい
162(1): 2020/09/28(月)19:26 ID:JgS2isID(1/2) AAS
>>161
addclockとsubclockにリターン値がないよ
return hour * 100 + minute;
が必要なんじゃないの?
163: 2020/09/28(月)19:30 ID:JgS2isID(2/2) AAS
あと、なんて本?
関数の戻り値型(関数名の前に書くintとかそういうやつ)を省略する入門書なんて珍しいから気になる
164: はちみつ餃子 ◆8X2XSCHEME 2020/09/28(月)20:34 ID:VnC2vdM3(1/2) AAS
関数の返却値の型を省略すると int とみなされるのは C89 では保証された動作だったが C99 で廃止された。
だから古い本ならそれほど珍しいわけではない。
そんなに古い本をいまどき手にしてしまうってのはめずらしくはあるが。
165(1): 2020/09/28(月)20:45 ID:QruIJ5oN(2/2) AAS
>>162
おっしゃるとおりでした、なぜかreturnの行を完全に打ち忘れました。
見直しの最中にも気づかず・・・
今読んでいるのは「はじめて読むC言語」という1991年の本で名著らしいです。
ネットで「はじめて読む8086」の後に続けて読めば理解が深まると言われ手に入れて読んでいます。
途中コンパイルが通らずさんざん頭を捻って拡張子をcppからcにしたら動くようになったりして
古い本で勉強するのはなかなか大変です。
ありがとうございました。
166: はちみつ餃子 ◆8X2XSCHEME 2020/09/28(月)23:29 ID:VnC2vdM3(2/2) AAS
>>165
当時としては名著だったかもしれんが、仕様の改定はあるし、
周辺事情も変わっていくものなので古い資料で入門するのはだいぶん遠回りな気はするぞ。
C は最新規格でも歴史的事情を色々と引きずっているので古い規格から追っていくのも
無駄になるわけではないし、それを楽しめているならそれもよいけれど、
入門の段階で変な苦労を背負いこんで挫折するともったいないので
キツいと思ったら他の学び方もとれるということは覚えておいて欲しい。
167: 2020/09/29(火)06:25 ID:jqf8qavY(1) AAS
いやいや
.cpp を .c と間違えてコンパイル通らないってのは
古い本のせいじゃないぞ
あるあるだけど
168: 2020/09/29(火)06:27 ID:pVIW4ypp(1) AAS
世の中にはJavaとJavascript一緒にしてるひともいるからなー(棒)
169: 2020/09/29(火)19:54 ID:ME3902LM(1) AAS
やさしいCとかはじめてのCとかを買えばいい
170: 2020/09/29(火)19:56 ID:aaxcyAZi(1) AAS
えっちいのは…
171: 2020/09/29(火)20:20 ID:hsV3TmCg(1) AAS
今の本が終わったらK&Rも読もうと思っていたのですが
VS2019環境だと警告まみれになりそうで気が重くなってきました
172: 2020/09/29(火)20:55 ID:aInwR/Jn(1) AAS
読んだってそのまんまのコード書く必要なかろうに
173: 2020/09/29(火)21:07 ID:74pJkTSC(1) AAS
俺的には絶版だけどダイテル本がすげー勉強になった
問題までキッチリ解いたらかなりの力になると思う
んで詳説Cポインタでポインタをもっと掘り下げて
今は色々プログラミングしながら(つっても長くて2千行程度)もっとシステムコール勉強してるとこ
それ終わったらネットワークプログラミングもやるつもり
174(1): 2020/09/30(水)00:15 ID:/dbaz1tV(1) AAS
プログラミング言語C 第2版、K & R、1988
C89/90 の本だから古いけど、MISRA-C などの組み込みでは使う規格
175(1): ◆QZaw55cn4c 2020/09/30(水)07:33 ID:uQY5A/DJ(1) AAS
>>174
C99 は、C++ への互換性を無視するという規格委員会の独善が鼻につき推奨できない
C89 = K&R2 こそ必要にして十分というべきだろう
176: 2020/09/30(水)18:40 ID:HrU0uL7n(1) AAS
いつまでK&Rなんて読んでんの?
177: 2020/10/01(木)12:10 ID:OaA9a4hN(1) AAS
原理主義者は読む
というか、原理主義者になりたいので読む
なんつったって聖典だからね
178(1): はちみつ餃子 ◆8X2XSCHEME 2020/10/01(木)14:04 ID:i8Yvf3kp(1) AAS
>>175
ほう! 実に興味深い!
具体的に互換性が無視されているというのはどこのことかな?
179: 2020/10/01(木)15:17 ID:15Icpaxe(1/2) AAS
読むのは勝手だけど
昔の仕様を頑なに守り続けるのもどうかと思う
だからと言って新しい仕様が何でも良い訳ではないが
180: 2020/10/01(木)18:56 ID:zaD5zegX(1) AAS
K&R読むと、コンパイラ作るの楽になるように設計してるなーってわかるよね。
あと、こりゃ別にlintいるわーってのもわかる。
181(1): 2020/10/01(木)19:09 ID:15Icpaxe(2/2) AAS
PASCALもそうだな
182(1): ◆QZaw55cn4c 2020/10/01(木)20:04 ID:J8KGCqXI(1/2) AAS
>>178
私のコメントに興味を持ってくれて嬉しい
しかし、今、リアルの私は終わりのない忙しさで連日睡眠時間が 3 時間という有様だ…
おそらく 11月1日2日3日の連休までにはこの忙しさも収束するだろうから、それまで気長に待っていてくれ給へ
183: ◆QZaw55cn4c 2020/10/01(木)20:08 ID:J8KGCqXI(2/2) AAS
>>181
PASCAL と C を一緒にしてはいけない
PASCAL は LL(1)パーサですべてが記述されている、という C にはない独自の美しさを誇っている
C はセマンティクスに妥協しまくっておりシンタックスはボロボロだ、こんなものは私の求める美しさではない
高みを目指すのなら、C/C++ の「なあなあですませる」態度に決別するべき
184: 2020/10/01(木)21:03 ID:ZmtwkRhd(1) AAS
>>182
それは大変ですね。
便所にラクガキする時間をぜひ永眠もとい睡眠に使ってください!
185(1): 2020/10/01(木)21:47 ID:m2VBA+uQ(1) AAS
struct {
char x;
struct {
char a : 4;
union {
char b : 2;
char c : 2;
};
char d : 2
};
省6
186(2): 2020/10/01(木)23:40 ID:wapltEmD(1) AAS
>>185
x も union に入れるといいかもしれない。
「xの残り2ビットがbとcで共有」については、間に union 挟む形だと
ビットフィールドの割り付けが途切れちゃうから、 struct {a, b, d} と strunct {a, c, d} に
分ける必要があるかもしれない。
でもこんなことやりたくなるのはハードウェアレジスタの操作やバイナリフォーマットの操作ぐらいな気がして、
そうなると残念ながらビットフィールドや union 使った方法には移植性に難があるのであまりお勧めできない。
187(1): 2020/10/02(金)05:47 ID:e8oVvNQP(1) AAS
>>186
185じゃないけど、レジスタ設定でおすすめのやりかた教えてください。
ハードウェアありきでレジスタ構造再現するより、目的や意味で分類するソフトありきの方が読みやすいように思えたんですが
このやりかたの利点てなんだろう。処理が早い?
188(3): 2020/10/02(金)07:00 ID:zVqE2vDD(1/2) AAS
ポインタって*pは指し示したアドレスの先の値なのに
宣言のときに初期化するとchar *p=xxxx;はアドレスが入るって整合性取れてないなと思ってたら
char* p=xxxx;って意味なのね
189: 2020/10/02(金)07:05 ID:Y0Tw+JWK(1) AAS
>>187
符号なし整数型にビットシフトとビットマスクで。
移植性を考慮する必要が無いなら、出力コード見ながら調整したビットフィールドで望みの動作に
できることも多くて、できてしまえばレジスタの定義も楽でレジスタアクセスするコードも読みやすいから、
それで済ませたくなる気持ちはわかる。
「目的や意味で分類する」というのはレジスタアクセスするコードの上に関数を作る話になると思うので、
レジスタアクセスの方法(ビットフィールドかシフト&マスクかなど)に関わらず好きに関数作って読みやすくすればいい。
190: 2020/10/02(金)09:23 ID:Xjdvbcrc(1/2) AAS
>>186
> 間に union 挟む形だとビットフィールドの割り付けが途切れちゃう
納得しましたありがとう!
191(1): はちみつ餃子 ◆8X2XSCHEME 2020/10/02(金)11:23 ID:UfIjSULq(1/2) AAS
>>188
そうだけど、宣言の文法上の結合規則では * は p の側に結合する。
宣言は char という型指定子と *p という宣言子から成り立っているのであって、
しかし char* という型の p が宣言されるので整合性という意味では
やっぱりなんだか微妙という感はちょっとある。
192(1): 2020/10/02(金)11:33 ID:vEIDHK0R(1) AAS
もちろん慣れたら問題無い
char a[] = "A\n";
char *p = a;
*p = 'B';
char *q;
q = a;
printf("%s", q);
193: 2020/10/02(金)14:24 ID:zVqE2vDD(2/2) AAS
>>191
VS2019がchar *p;をchar* p;に勝手に変更するので
おかしいなと思ってたんだけど知ってみれば納得できるというか
194: 2020/10/02(金)14:33 ID:Dpt7z8L/(1) AAS
>>192
ポインタ難しい論の実際ってポインタより配列、文字列のせいって気がする。
195(1): 2020/10/02(金)15:08 ID:WC+nGixi(1/3) AAS
char *p; か char* p; かでごねてる人って
char *p[]; とか char (*p)[N]; とかはどうしてるんだろ
196: はちみつ餃子 ◆8X2XSCHEME 2020/10/02(金)15:15 ID:UfIjSULq(2/2) AAS
>>195
どっちでもいいけどどっちかには揃えたくない?
197(1): 2020/10/02(金)16:05 ID:NWZMRD+V(1) AAS
自分で揃えりゃいい話だし
他人がどう書こうが関係ないし
198: 2020/10/02(金)16:39 ID:LbxjABVY(1) AAS
vsならvsに任せる
人間がやったらミスするんだから機械に任せる
vs標準のフォーマットが嫌なら変えればいいが、変えた時点で標準ではないと認識しといて
199: はちみつ餃子 ◆8X2XSCHEME 2020/10/02(金)16:39 ID:0aKkMJ10(1) AAS
>>197
自分ではどう書くかは決めてるってことなんだよね?
200: 2020/10/02(金)17:02 ID:WC+nGixi(2/3) AAS
書き込めないω
上下前次1-新書関写板覧索設栞歴
あと 802 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.427s*