C++相談室 part166 (759レス)
上下前次1-新
159: (ワッチョイ 0b30-qYXw) 05/29(木)10:31 ID:Fzugd6EU0(1) AAS
AIチャットボットに有害な情報を出力させる手口が存在、研究者が危険性を指摘
2025-05-27 20:00
外部リンク[html]:karapaia.com
>> イスラエルの研究チームが、主要なAIチャットボットが「脱獄(ジェイルブレイク)」と呼ばれる手口で、安全制御を回避され、違法で有害な情報を出力してしまう可能性があることを示した。
>> ChatGPTのような生成AIには、ユーザーの指示に対して有害な回答をしないよう制限が組み込まれている。しかし、今回の実験では、その制限が比較的簡単にすり抜けられることが明らかになった。
>> 研究チームは、「これまで国家機関や犯罪組織に限られていた情報が、今やノートパソコンやスマートフォンを持つ誰にでも届く可能性がある」と警鐘を鳴らしている。
中略
省4
160: (ワッチョイ 2b01-1uF+) 05/29(木)10:55 ID:crgrWrcc0(1) AAS
>>155
C++で型を理解することは必須だし型を理解していたら特には難しくはない
エラーは分かりやすくあるべきだとは思うけども
161(3): (ワッチョイ ebd6-TsVb) 05/29(木)15:34 ID:KimJmnNH0(1/3) AAS
『変数名はキーワード、アンダースコア( _ )で始まる名前、アンダースコア2つ( __ )
を含む名前以外は自由に名付けることができる。』
って某入門書にあったんですけど、予約語は別にして、アンダースコアは衝突抑止の念のためにという事ですよね。
private:
int _size=0;
なんて変数名によくしています。
162: (オイコラミネオ MM8f-rxm+) 05/29(木)15:46 ID:v8EevfYQM(1/3) AAS
>>161
それはやめた方がいい。理由は、
・_xxx は、ライブラリの中やマクロで使う事が有るとされている。
・__xxx は、コンパイラが内部でひそかに使って良いとされている。
163: (オイコラミネオ MM8f-rxm+) 05/29(木)15:47 ID:v8EevfYQM(2/3) AAS
敢えて、そういう事をしたいなら、
int size_ = 0;
のように、xxx_ や xxx__ は、まあ、やっていいのかも知れない。
164: (ワッチョイ 0f10-GFGd) 05/29(木)15:49 ID:ozJD0VM40(1/2) AAS
アンダースコアは実装が使うから#define _sizeされても文句言えないしリンクエラーになるかもだし_Boolみたいに将来予約語になるかもしれない
…ただ世の中にはアンダースコアの付いてない普通に変数名によく使われるような単語を平気で#defineしてくるクソヘッダーも多いので気にしてもしょうがない
あとユーザー定義リテラルだけは例外で逆にアンダースコアで始めないといけない
165: (オイコラミネオ MM8f-rxm+) 05/29(木)15:58 ID:v8EevfYQM(3/3) AAS
そういえば、マクロの dummy 変数の習慣として、
#define MMMM(_x_,_y_) (_x_と_y_を使った表現)
のように、_x_ や _y_ のように、前後に _ を付けた名前を使う
というものがある、と聞いたことが有る。
166: (ワッチョイ 5f6c-UPeL) 05/29(木)16:26 ID:G9KWFEhx0(1) AAS
>>161
C++標準で予約されているから使ってはダメ。
外部リンク:learn.microsoft.com
167: (ワッチョイ ebd6-TsVb) 05/29(木)16:30 ID:KimJmnNH0(2/3) AAS
どもです。勉強になります。
んじゃこれからは
private:
int data_=0; の感じで書くことにします。うん メンバ変数は他とは違うんだぞと思わせたくて。
ちなみに
private:
int data_(0);
省1
168(1): (ワッチョイ 0f10-GFGd) 05/29(木)16:48 ID:ozJD0VM40(2/2) AAS
メンバ変数だけじゃなくメンバ関数も区別したくない?ってなるのでthis->を省略すると警告が出るスイッチこそ欲すい
169(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ bb32-VkiR) 05/29(木)16:52 ID:SDgOXepR0(1) AAS
単にアンダースコアで始まる名前というだけなら「グローバル名前空間で」処理系のために予約されているだけなのでグローバル名前空間以外で使う分には問題ない。
アンダースコアふたつが連続で含まれるか、アンダースコアで始まって大文字が続く名前はあらゆる用途で予約されてるので一般ユーザが定義 (宣言) してはいけない。
外部リンク:timsong-cpp.github.io
>>161
> 予約語は別にして
予約語という言葉をコンパイラ一般の用語として使っている資料は多いんだけど C++ の仕様としては予約語という言葉は使ってない。
いや、ちょっと使ってるんだけどはっきりした定義なく脚注で一度出てくるだけなので正式な用語じゃないと思う。
省3
170: (ワッチョイ ebd6-TsVb) 05/29(木)17:07 ID:KimJmnNH0(3/3) AAS
>>169
> 単にアンダースコアで始まる名前というだけなら「グローバル名前空間で」処理系のために予約されているだけなのでグローバル名前空間以外で使う分には問題ない。
> アンダースコアふたつが連続で含まれるか、アンダースコアで始まって大文字が続く名前はあらゆる用途で予約されてるので一般ユーザが定義 (宣言) してはいけない。
ども了解です。基本外部で宣言する事はしないです。てかもうないですもんね。
171: (ワッチョイ bb7c-w/mX) 05/29(木)20:50 ID:lOyNyril0(1) AAS
キーワード以外にもmainとかdefinedとか__file__とか__VA_ARGS__とか規格で特殊な意味を与えられてる文字列は色々あるけど
その総称ってないんだよな
172(1): (ワッチョイ bb3c-79fi) 05/29(木)23:49 ID:hr2gWeV00(1) AAS
C#やPythonのように、クラスのフィールドをアンダースコアで始めるのが一般的という言語もあるから、そちらから来るとそうしてしまうのかも?
C++は統一的な指針はないけれど、GoogleのC++スタイルガイドでは value_ のように末尾にアンダースコアを付けるとしてるので、これで良いと思う
昔ながらのプロジェクトだと member の意味で m_value のようにするというのがあるけど、これはだいぶレガシー
173: (アウアウウー Sa8f-/+k6) 05/30(金)01:16 ID:Jzn0K6cGa(1) AAS
ハンガリアン記法などというワードも、もはや若人には通じない時代となってしまったのだ・・・
174: (ワッチョイ 4b01-DKvR) 05/30(金)01:39 ID:QwZ+U2hj0(1) AAS
個人で書くときはハンガリアン(もどき)だしm_付けてるけどな
サフィックスよりはプレフィックス付ける方がサジェストとか検索で絞りやすい
古いだのなんだのじゃなくて合理的ならなんでもいいと思うんだけどな
175: (ワッチョイ 3bf0-TsVb) 05/30(金)02:42 ID:qIE+EPsq0(1) AAS
m_も馬鹿っぽいけどな
176: (ワッチョイ 9fda-sPKC) 05/30(金)03:11 ID:DT1BzE420(1) AAS
FORTRAN方式こそ正義
177: (ワッチョイ 1bba-DKvR) 05/30(金)03:32 ID:a8PtKm050(1) AAS
前も似たようなこと言ったけど、馬鹿っぽいとか古いとか、ユーザーには何の利益にもならんぞ
178: (ワッチョイ 0b59-+7qT) 05/30(金)10:36 ID:9fSC83d40(1) AAS
最近のIDEは色がついていてローカル変数とメンバー変数が区別できるようになってるね
m_ などのプリフィックスは不要になってきてると思う
179(1): (アウアウウー Sa8f-q7Ty) 05/30(金)10:50 ID:XWQpoVmBa(1/3) AAS
m_ とか g_ は恥ずかしいね
180: (オイコラミネオ MM8f-rxm+) 05/30(金)11:00 ID:ORX18+JcM(1) AAS
>>179
そんなことない。
181: (ワッチョイ 9f52-WoVj) 05/30(金)12:05 ID:qi/53/kN0(1) AAS
一目でメンバ変数かを判断できるようにするべきだ
182: (オイコラミネオ MM8f-rxm+) 05/30(金)12:09 ID:MmHFotTIM(1) AAS
>>172
>C++は統一的な指針はないけれど、GoogleのC++スタイルガイドでは value_ のように末尾にアンダースコアを付けるとしてるので、これで良いと思う
でも、local auto 変数、local static 変数、メンバ変数と、(完全な)グローバル変数
global static 変数の少なくとも 5 種類あるので、
m_xxx, g_xxx, s_xxx の記法だと、区別しやすいが、
xxx_ だと難しい。
183: (ワッチョイ 9f06-XbnY) 05/30(金)12:55 ID:ST0oYfQR0(1) AAS
グローバル変数は爆弾だから特別な名前を付けるべき
データメンバーとローカル変数は(クラス内では)混ぜて多用されるから区別付けておくべき
それ以外は好みでいいよ
184: (アウアウウー Sa8f-q7Ty) 05/30(金)13:22 ID:XWQpoVmBa(2/3) AAS
>>168
判る
185: (ワッチョイ 8bbd-qYXw) 05/30(金)13:22 ID:FTEPrInt0(1) AAS
悪用されるのは当然です
高品質かつ高速な画像生成AI「FLUX.1 Kontext」が登場したので使ってみた、テキストと画像の入力に対応しアニメ風も実写風も生成可能
外部リンク:gigazine.net
全てのAIの推論をどうやって導き出したかがわかるのでプログラムの改造がはかどる
AnthropicがAIモデルの思考内容を可視化できるオープンソースツール「circuit-tracer」を公開
外部リンク:gigazine.net
186: (アウアウウー Sa8f-q7Ty) 05/30(金)13:23 ID:XWQpoVmBa(3/3) AAS
const は c_xxx ですね判ります
187: (ワッチョイ eff7-d0Aw) 05/30(金)15:34 ID:uDWPTWtO0(1/3) AAS
m_ とか s_とかg_つける習慣はやめられないな
スコープ明示は読みやすい
この程度をIDEに依存したくないわ
188(1): (ワッチョイ eff7-d0Aw) 05/30(金)15:35 ID:uDWPTWtO0(2/3) AAS
あと初見でautoだらけとかチェーンしまくるコードも読みにくくてしゃあない
書いた本人は無駄なくせて満足だろうけど、ある程度の冗長性は許容したほうが読みやすいし事故を防げる場合もあるんだよな
189: (ワッチョイ 2b01-+rG7) 05/30(金)15:42 ID:418TV5iU0(1) AAS
>>188
無駄をなくすのが目的じゃなくて
情報の重複を避けてるんじゃないかな?
190: (ワッチョイ ef6b-d0Aw) 05/30(金)16:01 ID:uDWPTWtO0(3/3) AAS
ちなみにautoでしか書けないやつとかあるのはわかってるよ
191: (ワッチョイ bb7c-w/mX) 05/31(土)02:34 ID:s94c4VR80(1) AAS
イテレータの型なんかはauto使わず律儀に書く方が間違ってる
192(2): はちみつ餃子◆8X2XSCHEME (ワッチョイ 8d32-2Myj) 06/02(月)09:16 ID:aX5lnsqr0(1/2) AAS
Stroustrup は名前に型やスコープなどの情報を埋め込むのは否定的だ。
外部リンク[html]:www.stroustrup.com
部分的に便利な場合があることは認めていて、型名を大文字で始める (アッパーキャメルケース) こととマクロは全て大文字にすることを紹介してる。
193: (アウアウウー Sac5-Uswy) 06/02(月)14:50 ID:DSKTrfoza(1) AAS
リファクタリングの途中でルールにずれるたびに名前変えてると効率悪過ぎですし
194: はちみつ餃子◆8X2XSCHEME (ワッチョイ 8d32-2Myj) 06/02(月)15:57 ID:aX5lnsqr0(2/2) AAS
出自が違うライブラリを組み合わせて使うのもよくあることだし、一貫した規約を保つのは難しいな。
D&E の 9.4.4 ではツールがより賢くなった理想的な開発環境について触れている。
プログラミング言語がテキスト表現を持つのはプログラマに対するインターフェイスに過ぎず、プログラムがテキストである必要はないという論だ。
ツール内部では抽象的なデータ構造として持っておいて必要に応じて (各プログラマの好みに合わせて) テキスト表現を調整するような仕組みにすれば名付けのスタイルなんかどうでもよくなる。
195(1): (JP 0H16-tLkV) 06/02(月)16:43 ID:wUlZIBZbH(1/2) AAS
あのー、話をぶったぎってすみません。
>>155の関数の戻り値は
decltype(auto) じゃなくて 単純にautoでいいです
よね?
RVOを使っているから値返しで良いし、参照返しも
okなdecltype(auto)は過剰スペックなような。
196: (ワッチョイ 5154-DcV8) 06/02(月)16:52 ID:Ca4PuVUf0(1) AAS
シャープ、PythonによるAIデバイス向け高位合成ツールをオープンソースで公開
外部リンク:news.mynavi.jp
博報堂メディカル、生成AIを用いた審査業務効率化ソリューションを開発 [
外部リンク:news.mynavi.jp
「AIをより魅力的にする戦略」がAIチャットボットに「薬物使用を促す」といった有害な考えを強化させる可能性があると研究で判明
外部リンク:gigazine.net
197: (オイコラミネオ MM55-d+bF) 06/02(月)20:55 ID:ET4i7BARM(1/2) AAS
>>192
>Stroustrup は名前に型やスコープなどの情報を埋め込むのは否定的だ。
彼の「机上の空論気質」がそこにも現れている。
198: (オイコラミネオ MM55-d+bF) 06/02(月)22:27 ID:ET4i7BARM(2/2) AAS
昔、BASIC言語で、数値(単精度浮動小数点)はAの様に、文字列は A$ の様に
書くのは分かりやすかったな。
今も、数値はx,y,a,bやi,j、文字列変数は、strText と書いた方が分かりやすく感じる。
199: (JP 0H16-tLkV) 06/02(月)23:11 ID:wUlZIBZbH(2/2) AAS
>>195 = >>155 です。
200(1): (ワッチョイ ee10-q9Bd) 06/03(火)01:42 ID:ue5SdiDx0(1) AAS
型を変数名に含めるのは型を大量に作るのが当たり前になった今では速攻破綻する。文字列だけでも何種類あるよ
スコープはC++では有限だからまあよしというか、マクロという凶悪大スコープなやつだけは隔離しないとやってられない
201(1): (ワッチョイ a101-XVxU) 06/03(火)03:15 ID:QDwFpnnH0(1) AAS
>>192
最後に「細かいことにこだわるよりも、一貫してルールが守られていることの方が重要」と結んでるのを皆ガン無視してるな
202: (ワッチョイ 82ad-mFb1) 06/03(火)03:19 ID:0VgbeSrB0(1) AAS
>>201
それは言うまでもなく前提の話だと思うわ
今はその前提の話の先の話をしてるんだろうと俺は大人しく見てる
203(1): (ワッチョイ c60c-+XEO) 06/03(火)05:25 ID:ZBtI7lM80(1/2) AAS
cの範疇になるけどsignedとunsignedが変数名でわかるのは助かるけどな
コンパイラのwarning任せは心もとない
204: (ワッチョイ 0d21-bekj) 06/03(火)06:02 ID:h7iZDaPS0(1/2) AAS
変数は日本語で
205: (ワッチョイ 8279-zefJ) 06/03(火)09:23 ID:y5vobhTd0(1) AAS
最初から言語で縛ってればこの議論すら発生してない
206: (ワッチョイ 69d6-a+Ou) 06/03(火)10:34 ID:h0O9iP1b0(1/2) AAS
MINDでしたけ?
207: はちみつ餃子◆8X2XSCHEME (ワッチョイ 8d32-FMYs) 06/03(火)11:33 ID:P/OxecZX0(1) AAS
>>203
数値については変数の型そのものよりも演算のときに暗黙に型変換されることがあるのが C++ で問題になりやすいところだと思う。
208: (オイコラミネオ MM55-d+bF) 06/03(火)14:29 ID:tpA/FWUpM(1) AAS
>>200
>文字列だけでも何種類あるよ
だからこそ、統一的に接頭辞で区別すると便利だ。
209: (ワッチョイ 052f-MN+B) 06/03(火)14:51 ID:7K3A6UIY0(1) AAS
XXXsよりXXXList (またはXXXVector)だ!
210(2): (ワッチョイ 0db3-bekj) 06/03(火)16:18 ID:h7iZDaPS0(2/2) AAS
DNAはどうなってんだろうな
4進数の羅列だけで、変数持ってないし
直接アドレス指定どうやってんだよ?
peek pokeは誰が担ってんだよ
211: (ワッチョイ 0de2-hbVI) 06/03(火)20:04 ID:/7yVoUF50(1) AAS
>>210
タンパク質の合成とか調べなされ。mRNAとかtRNAとか。
212(2): (スッップ Sda2-dO7W) 06/03(火)20:22 ID:ETf4Zm6Cd(1) AAS
>>155
虚数は実在しない
213(1): (ワッチョイ 656e-hbVI) 06/03(火)21:01 ID:/jgzz5v70(1) AAS
>>212
「虚数」みたいなラベルに騙されている。
「数字2つのタプルで、四則演算の定義されたもの」で、虚数みたいな演算を持つものと考えればいい。
214: (ワッチョイ c60d-+XEO) 06/03(火)21:15 ID:ZBtI7lM80(2/2) AAS
>>212
数学を誤解してるやつの典型だな
存在するとかしねーじゃないっての
215: (ワッチョイ 69d6-a+Ou) 06/03(火)21:28 ID:h0O9iP1b0(2/2) AAS
3次方程式の解の方程式に虚数が出てくる意味ですよ。しったか
216: (アウアウウー Sac5-ucTA) 06/03(火)21:43 ID:ZVCnTieoa(1) AAS
そんなこと言ったら0も-1もねーよ
217(1): (アウアウウー Sac5-37JY) 06/03(火)21:53 ID:bcTkTLKWa(1) AAS
>>213
だから複素数がベクトルとして機能するんだよね
218: (アウアウウー Sac5-Uswy) 06/03(火)22:37 ID:SMbzrRmIa(1) AAS
>>210
crisper-cas-9
219(2): (ワッチョイ eea1-bAVr) 06/04(水)04:46 ID:GWnctGWc0(1/4) AAS
質問なのですが
double qax(int a, long b) { ... }
double quux(int a, long b) { ... }
std::function<double(int, long)> gfred= qax;
としたときに、gfred が qax と同じだが quux とは違う、というのを判定するにはど
うしたら良いの?
220: (ワッチョイ 656e-hbVI) 06/04(水)05:46 ID:EsSRpHcz0(1) AAS
>>217
正確には、+と*の演算による複素数同士の関係(構造)が複素数の本質。
「虚」とか、本質とは関係のない単なるバズワード。
221(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 8d32-2Myj) 06/04(水)09:29 ID:XvRleYyH0(1) AAS
>>219
元の型で取り出すためのメンバ関数テンプレートとして target が使える。
↓こういうことがしたいのかな?
外部リンク:wandbox.org
222(1): (アウアウウー Sac5-Uswy) 06/04(水)09:58 ID:pOYKhOcIa(1) AAS
>>219
外部リンク:ideone.com
223: (ワッチョイ f191-DcV8) 06/04(水)20:04 ID:Ao4InlGx0(1) AAS
GoogleのGemini 2.5で日本語を含む多言語の音声生成が可能に
https:
//gigazine.net/news/20250604-google-gemini-native-audio/
無料で超絶リアルな3DCGキャラを作成&動かせるゲーム開発ツール「MetaHuman」の一部がUnreal Engine 5.6に統合
https:
//gigazine.net/news/20250604-unreal-engine-5-6-metahuman/
ついにAndroid版Photoshopのベータ版が登場、無料でAIによる画像生成やレイヤー編集を利用可能
省11
224: (ワッチョイ eea1-bAVr) 06/04(水)23:13 ID:GWnctGWc0(2/4) AAS
>>221
なるほど……
>>222
なるほど……
しかしstd::function<T>::target()で関数オブジェクトも扱えるらしいとわかったのでやってみたら
こちらは意図通り動かず釈然とせんぬ……
外部リンク:ideone.com
省2
225: (ワッチョイ eea1-bAVr) 06/04(水)23:18 ID:GWnctGWc0(3/4) AAS
24行目〜26行目のif文の動きが思ってたのと違う……
226(2): (ワッチョイ eea1-bAVr) 06/04(水)23:27 ID:GWnctGWc0(4/4) AAS
とりま↓こうしたら逝けた……
外部リンク:ideone.com
んまーfooのインスタンスの寿命を考えたらstd::function<T>はfooをコピーする実装になるという予想の下に、
fooを構築したときのthisをメンバm_objIDに記憶させて、fooの等値演算はm_objIDの比較で行うようにしたらイゴイタ……
5chは漏れの日記帳……
227(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 29f7-FMYs) 06/05(木)03:33 ID:lIQfbdfd0(1) AAS
>>226
この場合に呼び出されるコンストラクタは
template<class F> function(F f);
なのでコピーされることはこのシグネチャから自明。
外部リンク[con]:timsong-cpp.github.io
std::function は (同じ形式で呼び出しが可能なら) 違う型のオブジェクトを統一的に扱うことが目的なので入れる型を限定してしまうような構造は std::function を使う甲斐がない。
どういう状況で比較しようとしてるのかわらんけど、そういうのが必要になってるなら設計が根本的に失敗してる可能性を疑う。
228: (ワッチョイ eea1-bAVr) 06/05(木)08:27 ID:ExyrcTL10(1/2) AAS
>>227
レス?クス、
>コピーされることはこのシグネチャから自明。
なるほど……
>std::function は (同じ形式で呼び出しが可能なら) 違う型のオブジェクトを統一的に扱うことが目的なので入れる型を限定してしまうような構造は std::function を使う甲斐がない。
それはそう
>そういうのが必要になってるなら設計が根本的に失敗してる可能性を疑う。
省5
229(2): (ワッチョイ eea1-bAVr) 06/05(木)08:28 ID:ExyrcTL10(2/2) AAS
コールバック関数の自由な登録というのをstd::function<T>として登録することを考えて居たけんども
素のstd::function<T>ではチェックが自由にできないということがわかりた……
MSVCとかで関数を入れたstd::function<double (int, long)>に対し関数オブジェクトfooとしてtarget<foo>()するか
反対のことをしたらcatchできない例外が発生すた、(多分構造化例外か何かでSTLの仕様的にはおそらく未定義動作
故に素のstd::function<T>を使おうとする限り、入れるブツをdynamic_cast可能な関数オブジェクトに限定するとかしないと
手の打ちようが無いorz
現実解はstd::function<T>をwrapした「コールバック関数クラス」の創設……
230: (ワッチョイ 0505-XVxU) 06/05(木)11:16 ID:8BEUFbRj0(1) AAS
別に質問すんのも気付いた事を書くのも(手短になら)いいんだけどさ
>5chは漏れの日記帳……
ええ加減にせえよお前マジで
開き直ってんじゃねえぞ
231: はちみつ餃子◆8X2XSCHEME (ワッチョイ 8d32-FMYs) 06/05(木)12:10 ID:BNqgyRrD0(1/3) AAS
>>229
target で指定した型と実際に入っている動的な型が合致しない場合はヌルポインタが返される仕様になっていてそれ自体は問題ない。
実際のコードがどうなってるか示されていないけれど、 >>226 の延長線のようなコードだとしたらヌルポインタ返ってきたときヌルポインタに単項 * を適用していることになるし、更にはそのメンバ関数である operator== を呼び出したりデータメンバ m_objID にアクセスしたりしてるのが全部ダメ。
232: (ワッチョイ d142-hbVI) 06/05(木)13:25 ID:EjJmkkft0(1) AAS
>>229
あんまり深く理解してないけど
コールバックの責任範囲(待機の解除とか)が違うのを明確に管理したい
->責任範囲の違いごとに基底クラスを用意して、コールバックは派生クラスで実装させる。
みたいなガチガチの管理がいいんじゃないんかね。
コールバック実装側にも管理する義務を押し付けられるし、基本的なフレームワーク(待機の解除手順とか)は基底クラス側で実装できる。
233(2): (ワッチョイ 69d6-a+Ou) 06/05(木)16:59 ID:I5agSXi50(1/3) AAS
単純なんですが、わからんので教えてください。
#include <iostream>
int main(){
std::cout <<"hello"s<<std::endl;
}
がエラーになります。なんか勘違いしてます?sは無理につけないほうがいいのかな?!
$ g++ -Wall -Wextra -std=c++23 -O2 -DGNU_SOURCE main.cpp -o main
省1
234(1): (ブーイモ MM76-+XEO) 06/05(木)17:33 ID:Ze0QqwpuM(1) AAS
>>233
#include <string>
using namespace std::string_literals;
235(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 8d32-2Myj) 06/05(木)17:37 ID:BNqgyRrD0(2/3) AAS
>>233
結論から言うとこういう感じ。
#include <iostream>
#include <string>
int main(){
using namespace std::literals::string_literals;
std::cout <<"hello"s<<std::endl;
省3
236: (ワッチョイ 69d6-a+Ou) 06/05(木)17:38 ID:I5agSXi50(2/3) AAS
>>234
早速の返信ありがとうございました。勉強します。mOm
237: (ワッチョイ 69d6-a+Ou) 06/05(木)17:40 ID:I5agSXi50(3/3) AAS
>>235
御意 mOm 色々あるのですね・・・
238: はちみつ餃子◆8X2XSCHEME (ワッチョイ 8d32-2Myj) 06/05(木)18:41 ID:BNqgyRrD0(3/3) AAS
他のいくつかの言語 (Java とか C# とか) の感覚で C++ を見ると普通の文字列リテラルの型が std::string ではなく char[] なのは引っかかりがちなところかもしれない。
常に s を付けるとそういう引っかかりを無くせるので不必要でも一貫して s を付けるような運用は悪くはないのかもしれない。
基本的にはちゃんと理解して使い分けて欲しいけどね。
239: (ワッチョイ 021f-8ND1) 06/07(土)01:59 ID:8e7E0Zg00(1) AAS
emplace_backなんて便利なものあったのかよ
なんで教えてくれなかったの
上下前次1-新書関写板覧索設栞歴
あと 520 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s