C++相談室 part166

1sage (ワッチョイ 8732-NXaD)
垢版 |
2025/04/26(土) 10:34:58.41ID:pbPDl6lv0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
C++相談室 part165
https://mevius.5ch.net/test/read.cgi/tech/1698705458/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2025/06/05(木) 16:59:25.81ID:I5agSXi50
単純なんですが、わからんので教えてください。
#include <iostream>
int main(){
std::cout <<"hello"s<<std::endl;
}
がエラーになります。なんか勘違いしてます?sは無理につけないほうがいいのかな?!
$ g++ -Wall -Wextra -std=c++23 -O2 -DGNU_SOURCE main.cpp -o main
g++は11.4.0
2025/06/05(木) 17:33:40.39ID:Ze0QqwpuM
>>233
#include <string>
using namespace std::string_literals;
2025/06/05(木) 17:37:36.07ID:BNqgyRrD0
>>233
結論から言うとこういう感じ。

#include <iostream>
#include <string>

int main(){
using namespace std::literals::string_literals;
std::cout <<"hello"s<<std::endl;
}

s はヘッダ string の中の std::literals::string_literals という名前空間で定義されているからこういう形で using してからじゃないと使えない。
この単純なケースだけを見れば s を付ける利点は何もないけど状況次第。
2025/06/05(木) 17:38:38.46ID:I5agSXi50
>>234
早速の返信ありがとうございました。勉強します。mOm
2025/06/05(木) 17:40:53.81ID:I5agSXi50
>>235
御意 mOm 色々あるのですね・・・
2025/06/05(木) 18:41:08.81ID:BNqgyRrD0
他のいくつかの言語 (Java とか C# とか) の感覚で C++ を見ると普通の文字列リテラルの型が std::string ではなく char[] なのは引っかかりがちなところかもしれない。
常に s を付けるとそういう引っかかりを無くせるので不必要でも一貫して s を付けるような運用は悪くはないのかもしれない。
基本的にはちゃんと理解して使い分けて欲しいけどね。
2025/06/07(土) 01:59:21.81ID:8e7E0Zg00
emplace_backなんて便利なものあったのかよ
なんで教えてくれなかったの
2025/06/07(土) 02:24:44.55ID:jKOd5e+0a
最初にちゃんと教えたじゃない
2025/06/07(土) 04:07:51.58ID:tL+z2F5g0
便利ってのはちょっと違うだろ
2025/06/07(土) 08:30:18.62ID:6XhFO67c0
う 知らなかった。rvalue Refでの実装ですよね。30%以上速くなってるみたいな。
243デフォルトの名無しさん (ワッチョイ c97c-lQrw)
垢版 |
2025/06/11(水) 00:24:35.36ID:PujA5y+40
プログラミングなんて勉強して意味あるのかな…?
AIに全部もってかれそうなのに…
2025/06/11(水) 00:26:46.70ID:BmOhOZog0
面白いからやってるだけでは?
2025/06/11(水) 00:42:35.30ID:LotBJsEG0
>>243
プログラミング言語に限らず自然言語も
言語の位置づけが変わったことを踏まえた
勉強が必要になったと思う
2025/06/11(水) 01:19:10.27ID:oPVwdzBR0
こういうのは勉強したくない言い訳だから意味を答えても無駄だって聞いた
2025/06/11(水) 05:22:56.57ID:X5AhUIPs0
頭使ってPG組むのは自分のためなんよ
なんでもAIに頼ってたら馬鹿まっしぐらで緊急時になにもできない人間に成り下がってしまうんだぜ
2025/06/11(水) 06:27:29.37ID:LS0N9soX0
>>243
お前実際にAIでプログラミングしてないだろ?
実際やってみたらそんな感想にはならない
2025/06/11(水) 07:39:00.61ID:1mMnjHQa0
AIがいいプログラミング出来るように開発しなきゃならないね。
2025/06/11(水) 09:03:36.56ID:AWy+SoY40
>>243
上司の指示が支離滅裂だったらプログラミングできるか?
AI にとってのお前は指示を出す上司だ。
251デフォルトの名無しさん (ワッチョイ 39a6-EOGS)
垢版 |
2025/06/11(水) 09:22:57.75ID:IDIyuYFJ0
AIプログラミングってストレス溜まるらしいね
AIの作成したコードに誤りがないかを人間が確認して誤りがあれば修正を指示する
人間がコードを読んでバグを見つけないといけないケースもある
まるで出来の悪い部下を教育しているようでかなりの根気が必要

自分でコード書くほうがストレスフリーで楽だよ
252デフォルトの名無しさん (ワッチョイ c18f-ur14)
垢版 |
2025/06/11(水) 10:00:04.85ID:7/IL82s+0
新人よりはずっといいコード作るのと、速度が自分と比べても圧倒的ゆえに、プロトタイプ作るのはもう任せてしまってる
まだ全部任せるのは無理だけど、5年前に今の状況伝えても笑って信じない程度には有能
2025/06/11(水) 10:37:11.25ID:4plX/rhp0
>>250
適宜質問して言質取ればいいんだけどな
上司が無能でもなんとか出来るのが人間
2025/06/11(水) 10:58:38.63ID:AWy+SoY40
AI が思ったより高性能なのは確かだが、これからの性能の伸びは急激に鈍化する可能性が高い。
性能の高い AI には単純に巨大な計算能力と記憶が必要で、更にはそれを支える電力が要るという物理的限界があるから。
量子コンピューターなど、物理のほうでなんらかのブレイクスルーがあれば更なる飛躍が望めるかもしれないけれど……
しばらくは今程度の AI との付き合い方を社会のほうが学習して折り合いをつけていく形になると思う。
2025/06/11(水) 11:15:11.18ID:HZCA0d+40
知らん事に対してあまり分かったような事言わない方がいいぞ
256デフォルトの名無しさん (ワッチョイ 5387-jI5/)
垢版 |
2025/06/11(水) 11:39:04.50ID:sSZ9OAEc0
246で終わってて以降はいつもの蛇足
257デフォルトの名無しさん (ワッチョイ 13bb-LbEI)
垢版 |
2025/06/11(水) 12:34:23.44ID:5IFZnh9v0
>>251
テストケースをちゃんと作ってればAI任せでもかなりできる
2025/06/11(水) 13:08:01.74ID:LS0N9soX0
現状AIにお任せで作るテストケースなんて低品質のザル
それに何をやらせるにしろコンテキストサイズ小さすぎで少し規模でかくなったらすぐ鳥頭状態で延々間違い続ける
まだまだ技術は進歩するだろうがエンジニア不要なんて当分ならない
仕事のやり方が変わるだけ
259デフォルトの名無しさん (ワッチョイ d1c4-1q1N)
垢版 |
2025/06/11(水) 13:48:04.08ID:F2et1oFa0
何万回も試行させてバグ発見とバグ取りまでAI任せでいいじゃん
それを人がやってるのはアホすぎるw

道具使えてない
2025/06/11(水) 13:59:18.90ID:LS0N9soX0
やってから言え
2025/06/11(水) 14:10:23.54ID:AWy+SoY40
>>259
価格を見てから同じこと言える?
そこそこ高めだがそれでも黒字化できてるサービスはほとんどないみたいだぞ。
2025/06/11(水) 14:41:37.02ID:LotBJsEG0
馬鹿と鋏とAIは使いようだよ
263デフォルトの名無しさん (ワッチョイ b94d-ZZSa)
垢版 |
2025/06/11(水) 15:02:45.49ID:jtrpcw1X0
超音波と電波は頭蓋骨貫通する
傷害事件や殺人事件の被害が出ているのですが調査可能ですか

「最近もの忘れ多いかも」”超音波”が効く未来の脳ケアガジェットに期待
2025.06.11 12:00
https://ascii.jp/elem/000/004/268/4268478/
>>サウンドウェーブイノベーション株式会社が開発中の「LIPUS-Brain」という医療機器だ。頭に当てるだけで脳を優しく刺激してくれるらしい。仕組みは「低出力パルス波超音波(LIPUS)」という特殊な音を使って、脳内の血流や神経の働きをサポートするというもの。
>> 「脳に超音波って大丈夫?」と思うかもしれないが、これは低出力&非侵襲。要は、“切らない・飲まない・痛くない”系の治療機器だ。軽症アルツハイマー病への有効性が示唆されており、2022年には厚生労働省から「先駆的医療機器」のお墨付きももらっており、現在も治験が進んでいる。
テラヘルツ波で内耳蝸牛を観察、難聴など耳の病気の診断に期待
2025年06月11日 12時00分更新
https://ascii.jp/elem/000/004/278/4278126/
>> 難聴の多くは、耳の奥にある音をつかさどる器官である内耳蝸牛(かぎゅう)の障害が原因とされています。内耳蝸牛は頭蓋骨深部にあるため、光計測では骨を透過できず、X線撮影では被ばくのリスクがあり、内部の観察が困難です。
>>可視光と電波の中間帯に位置するテラへルツ波は、内部を被ばくさせずに観察できることから、安心安全な技術として注目されています。しかし、波長は約300マイクロ(マイクロは100万分の1)メートルであり、それより小さなマイクロメートルレベルの対象物は観測できませんでした。
>>マウスを用いた実験により、テラへルツ波を利用して内耳蝸牛を観察しました。研究チームは、非線形光学結晶にフェムト(フェムトは1000兆分の1)秒オーダーの短い時間だけ強いレーザー光を照射すると、テラヘルツ波が局所的に発生して点光源として扱えることに着目。点光源から発生したテラヘルツ波が、蝸牛内部で反射して戻ってくるまでの時間を測定して距離や形状を調べる独自の手法と、機械学習を利用した画像解析法を開発しました。
>>これらを適用することで、内耳蝸牛内部の3次元構造をマイクロメートルレベルで初めて可視化し、断面観察にも成功しました。
264デフォルトの名無しさん (アウアウウー Sadd-MJCJ)
垢版 |
2025/06/11(水) 21:22:42.95ID:n2ChAYWba
このスレでやるな
2025/06/12(木) 00:08:06.33ID:ftTL3ileM
>>261
AGIをやるためには、ものすごい沢山の計算コアを集めたデータセンター
が必要だから、初期投資と電気代が凄い。だから、世界に少ししか作れない。
となると、みんなでそれを時分割して使うことになり、性能は
人ひとりより落ちることになろう。
2025/06/12(木) 00:41:06.20ID:ForjZNXcd
スレ違い。
2025/06/12(木) 19:58:06.94ID:/PCxqnPyM
AIに聞いてみたら、にほんのC++プログラマは、約50,112人だと
答えた。C++の世界の使用者数は約1,160万人だと言われているのに、
本当だろうか?
なお、日本の職業ゲームプログラマは数万人とされる。
2025/06/12(木) 20:10:27.47ID:GCnXcRjG0
↑ど素人のAIの使い方
2025/06/13(金) 09:36:20.53ID:4zf9vL2U0
調査に AI を使う場合は出典なり推論過程なりを報告させて検証しろ。
2025/06/13(金) 10:08:04.05ID:yXjkXUTe0
AIの回答を鵜呑みにするのは、科学の大原則となる検証可能性を自ら捨てる愚行だからなぁ。

AIに限った話じゃないけど、世の中には権威に訴える論証やら人身攻撃やらが氾濫している。常に注意しないといかん。
271デフォルトの名無しさん (ワッチョイ 1372-LbEI)
垢版 |
2025/06/13(金) 11:11:02.52ID:ATYXeDVy0
でもこれまでもAIの代わりに本を鵜呑みにしてるんだよね
本を批判的な視点で見れるやつはAIでも見れるし
物質は原子から出来ていて原子は原子核と電子から出来ていると義務教育で習う
でも自分で検証する者は殆どおらずただ受け入れるだけ
AIも物質は原子から出来ていると答えてそれを受け入れる
2025/06/13(金) 11:42:29.95ID:T6ZAL6CyM
では、これは何?

https://hr-tech-lab.lapras.com/knowledge/research-report/hr-data-analysis-3/#i-6

法人向け採用サービス「LAPRAS」

プログラミング言語別:エンジニア数
プログラミング言語 エンジニア数(人)
JavaScript   218,880人
HTML/CSS    186,624人
Python     144,576人
TypeScript   123,264人
C        110,592人
Ruby      108,864人
Go       96,768人
Java      86,400人
Bash/Shell   72,000人
PHP       70,272人
C++       50,112人
Rust      37,440人
SQL       35,712人
Swift      34,560人
C#       33,408人
Kotlin     25,344人
Dart      10,944人
Lua       10,368人
PowerShell   5,184人
Assembly    3,456人
2025/06/13(金) 12:01:07.15ID:IXAej3i00
Rustってどうなん
274デフォルトの名無しさん (ワッチョイ 535f-ur14)
垢版 |
2025/06/13(金) 12:01:24.74ID:eyPBizg10
>>272
読んできたが、転職市場にいるC++エンジニアの数(推計)であって、日本のC++エンジニア数じゃないよね
せめて中身読まんと一生使えないやつ扱いだぞ
2025/06/13(金) 12:11:49.34ID:T6ZAL6CyM
github の検索機能を使ってリポジトリ数を調べてみたら、以下の様になった。
この数値が正確に何を意味するのかは不明 :
(1) language:JavaScript : 23M results
(2) language:Java    : 14.3M results
(3) language:Python   : 13.5M results
(4) language:C#     : 4.5M results
(5) language:C++    : 4.1M results
(6) language:PHP    : 4.1M results
(7) language:C     : 2.7M results
(8) language:Ruby    : 2.7M results
(8) language:Rust    : 552k results
(9) language:Lua    : 338k results
(10) language:Perl   : 158k results
(11) language:WebAssembly : 1.7k results
(12) language:Wasm   : 1.6k results
(13) language:Unity   : 0 results
2025/06/13(金) 12:21:35.94ID:E42DVH7Kp
日本の職業C++エンジニアは少ない、みたいなのはおそらく事実だろ
ここも昔はプロが大勢居たが、今や趣味グラマか競プロしかやった事ない奴が牛耳ってるし
言ってる内容が正しければそれでもいいんだけどね
2025/06/13(金) 12:27:18.04ID:4zf9vL2U0
>>274
いや、 LAPRAS が調べた言語別の割合を日本の IT エンジニア数全体に当てはめてる。
推計ではあるが 50112 人は日本の C++ エンジニアの数だ。

言語ごとに転職志望傾向に大きな違いがあればあまり当てにならない推計ではある。
ウェブ系のほうがかなり移動が激しいような印象はあるし、数倍程度の幅はあってもおかしくないかな。
278デフォルトの名無しさん (ワッチョイ d1f6-MJCJ)
垢版 |
2025/06/13(金) 12:39:15.12ID:eg/YBi4J0
>>271
電子が原子核の周りを飛び回ってる絵を教科書に載せるのはそろそろ禁止するべきだね
2025/06/13(金) 12:40:04.56ID:eg/YBi4J0
もっともらしい嘘を言わせると超一流だよなωωω=2πf
280デフォルトの名無しさん (オイコラミネオ MM8b-Isf1)
垢版 |
2025/06/13(金) 13:23:08.46ID:YG6TxuJTM
>>277
1.「その中でも今回は、LAPRASのDBに登録しているユーザーのうち、
・Web上に積極的に発信している
・各言語のタグを一定レベル以上で持っている
という条件を満たすエンジニアの方々4万人以上を対象に「各言語のタグを一定レベル以上で持っている方が、全体の人数のうち何%いるか?」を集計
してみました」
2.「以下の日経クロステックの記事によると、2025年時点で、日本国内のITエンジニアの人数は約144万人と推計されています」
3.「レバテック株式会社が実施した「レバテックIT人材白書2025」の調査によると、IT人材の約4割が「転職活動中」または「転職を検討中」と回答しています。」
4.「この割合を2025年のITエンジニア総数144万人に適用すると、転職市場にいる人数は約57.6万人と推定されます。
今回のLAPRASの調査からわかった「プログラミング言語別エンジニア数」の割合を上記の人数に適用すると、採用マーケット全体でのそれぞれの母集団の数は次のように推計できます」
とあるので、・・・」
となっていて、
1 に各言語を一定レベルのスキルで持つ人材(?)の分布があり、
2 より 日本の2025年のITエンジニア総数 = 144万人
2 と 3 を掛け算して、転職市場にいる人数 = 約57.6万人・・・(a)
となって、(a)に1の分布を掛け算したのが、>>272 らしい。
つまり、>>272 は、57.6 万人の中での人口分布。
そして、144 / 57.6 = 2.5 だから、日本の ITエンジニア全体では
>>272 のそれぞれを 2.5 倍しただけのスキル保持者がいる、と
いう主張になるらしい。
但し、7年くらい前(?)の日経の調査では、日本では、
「プロ」に限れば C/C++ の使用者数が TOP らしいから、
この結果とはまた異なりそうだが。
281デフォルトの名無しさん (ワッチョイ 0b32-ur14)
垢版 |
2025/06/13(金) 13:34:16.83ID:/pNq5IL+0
業務でC++使うこともほとんどなくなった
いまだにC++が一番得意と言い張ってはいるが、今の俺を分類するならJava/JavaScript技術者かもしれん
2025/06/13(金) 14:15:13.72ID:4zf9vL2U0
>>280
その解釈だと「採用マーケット全体」と「転職市場」を同一視していることになるな。
いずれにしても何を指してるんだかよくわからんことにかわりないけど。
2025/06/13(金) 14:35:38.83ID:YG6TxuJTM
>>282
144万人は「日本のITエンジニアの総数」。
「採用マーケット全体」という言葉の意味とはちょっと違うと思うが。
2025/06/13(金) 15:01:27.93ID:4zf9vL2U0
>>283
更にその「母集団」とも言ってるでしょ。
抜き出したサンプルが何を代表しているつもりなのかよくわからん……

>>272 の数値を合計するとだいたい 146 万ということになるから日本全体の数だと私は判断してたんだけど、
ひとりが複数言語を使うのも普通のことだしなぁ……
「一定レベル以上」がどのくらいの水準のことを言っているのかでもかなり変動するだろうし。
285デフォルトの名無しさん (ワッチョイ 0b32-ur14)
垢版 |
2025/06/13(金) 15:01:40.97ID:/pNq5IL+0
AIでも有料モデルで確認した結果がこちら
https://i.imgur.com/z6pRnTk.png
https://i.imgur.com/3Wg84ZT.png
2025/06/13(金) 15:02:59.82ID:4zf9vL2U0
全部が一定レベル以下の人は集計から排除されていると考えると
その割合を全体数 (転職市場にせよ日本全体にせよ) に適用するのが妥当とも思えないよな。
287デフォルトの名無しさん (ワッチョイ 0b32-ur14)
垢版 |
2025/06/13(金) 15:03:36.94ID:/pNq5IL+0
>>284
上に割合あるんだから、8.7%に56万かけりゃすぐに違うってわかるのでは?
2025/06/13(金) 15:49:17.20ID:4zf9vL2U0
ああ、割合が最初に書いてあったのか。
全然読めてなかった。格好悪いな
2025/06/13(金) 22:37:54.95ID:22avhnRdM
>>272
「集計結果」のところで、JavaScriptが38%というものから
始まっている「分布図」があるが、合計してみると100%を優に超えていた。
だから、

>>284
> >>272 の数値を合計するとだいたい 146 万ということになるから日本全体の数だと私は判断してたんだけど、
> ひとりが複数言語を使うのも普通のことだしなぁ…

ということになっているらしい。
つまり、57.6 万人 に、それぞれの比率を掛けた数字になっているが、
比率自体の合計が 100% を超えているので、各言語ごとの「人数」
を全部足すと、57.6 万人を超えている。
しかし、日本のITエンジニア全体の人口は 144 万人で、
144 / 57.6 = 2.5 であることから、実際の各言語後との「人数」は、
2.5 倍する必要がある、ということになる。
290デフォルトの名無しさん (アウアウウー Sadd-MJCJ)
垢版 |
2025/06/14(土) 18:57:21.60ID:Z47ni+e7a
最近のプログラマは割り算はおろか掛け算も出来ないらしい
291デフォルトの名無しさん (ワッチョイ 136e-ZZSa)
垢版 |
2025/06/14(土) 19:20:56.16ID:TLqczxub0
mRNAワクチンの“新たな懸念”接種済み妊婦の子どもに「異常タンパク質構造」血中で確認★2 [Gecko★]
2025/06/14(土) 15:48:24.59
https://asahi.5ch.net/test/read.cgi/newsplus/1749883704/
・ワクチン問題になっている
2025/06/14(土) 19:34:05.95ID:8e4YyHKjM
>>290
いまの議論で、そんな人は誰もいなかったんだが。
2025/06/14(土) 21:54:18.62ID:k1IJmlZ/0
Teratail とか Qiita とか Stackoverflow とかの質問も減ってる気がするなぁ。
これは C++ の衰退のせい?
それともみんな ChatGPT とか Gemini に聞いてんの?
2025/06/14(土) 23:01:15.38ID:suk2ABkrM
>>293
>Teratail とか Qiita とか Stackoverflow とかの質問も減ってる気がするなぁ。
それはどうやったら体感できるの?
295デフォルトの名無しさん (JP 0H46-E6Ax)
垢版 |
2025/06/15(日) 00:11:57.49ID:bHsxd1q/H
C++の知識というか、ノウハウが一応行きわたっているからだと
思う。と言っても新人は習得に手こずるだろうけど、そばに適切
に指導してくれる先輩がいれば大丈夫。あくまで適切な指導をして
くれる先輩だけど。ラーメン屋の店主みたいな奴だと地獄。
296デフォルトの名無しさん (JP 0H46-E6Ax)
垢版 |
2025/06/15(日) 00:11:58.07ID:bHsxd1q/H
C++の知識というか、ノウハウが一応行きわたっているからだと
思う。と言っても新人は習得に手こずるだろうけど、そばに適切
に指導してくれる先輩がいれば大丈夫。あくまで適切な指導をして
くれる先輩だけど。ラーメン屋の店主みたいな奴だと地獄。
297デフォルトの名無しさん (JP 0H46-E6Ax)
垢版 |
2025/06/15(日) 00:12:31.42ID:bHsxd1q/H
ありゃあ、2つ入力されちまったい
298デフォルトの名無しさん (JP 0H46-E6Ax)
垢版 |
2025/06/15(日) 00:37:51.57ID:bHsxd1q/H
>>290
いまどき8bitシフトするために256で割る意味がわかる人いるかなあ
2025/06/15(日) 01:26:12.38ID:eDpwS0UO0
>>296
日本のソフトウェアIT業界なんてラーメン屋レベルでしょ

だからIT後進国でしょ
2025/06/15(日) 03:09:45.52ID:4MduE0B70
海外のラーメン屋はもっとレベル高いんか
2025/06/15(日) 08:13:33.37ID:vQtYxwCW0
国語力w
2025/06/15(日) 09:32:37.19ID:sxaow1g9M
地方の求人情報だと
java,c,c++.javascript,typescript位の求人しかない(昔はこれにVB,COBOLが加わってた)
c++書いてる人のレベルってどのくらいなのかはわからない
2025/06/15(日) 16:27:00.41ID:eDpwS0UO0
そういえば、&&の代わりにand使えるのか

C#とPythonとVBAとJaveとごっちゃになるわ…
2025/06/15(日) 17:15:44.30ID:mr/FUyDi0
代替表現は文字コードの都合で一部の記号がない場合のために入れたそうたけど、今となってはあまり意味がないな。
! が視覚的に目立たないから not だけは使うこともちょっとある。
2025/06/15(日) 17:42:56.06ID:dmfL2H8C0
>>303
それはない
2025/06/15(日) 18:14:03.61ID:DIvPIJxI0
>>298
整数除算よりバレルシフタの方が早いので、8ビットシフトなら素直にシフトしたほうがソースコードの意味がわかりやすい。
最近のコンパイラは賢いので256で割ってもシフト命令にされてしまうだろうが。
307デフォルトの名無しさん (ワッチョイ b219-m2eM)
垢版 |
2025/06/15(日) 18:47:36.40ID:PKcOFo6K0
最近ってどういう意味で言ってんのか知らんが、定数畳み込みなんかどの言語も相当古くからやってるよ?
Fortranなんかだと手動アセンブリより遅かったら市場に受け入れられないという事情があったから最初期から最適化が一番の課題だったって聞いた
逆に現代のMPUはビット演算と整数演算じゃ速度差がそれほど出ないので、どっちで書いてもコンパイラがパフォーマンス見てどっちかを吐くようになってるよ
2025/06/15(日) 18:49:13.93ID:ltc4eKLE0
and,or,notは基本使うようにしてる
2025/06/15(日) 19:14:47.28ID:eDpwS0UO0
>>304
!IsWindowVisible()とかは、
notのほうがいいね

色も見やすい
2025/06/15(日) 19:49:42.63ID:DIvPIJxI0
>>307
バレルシフタと整数除算ではクロックが10倍ぐらい違う
シフタが使える時にはシフタに最適化されるはず
2025/06/15(日) 20:18:51.49ID:mr/FUyDi0
ビットシフトが lea に置き換えられることがあるみたいで、命令長が長くなるだけでも結構な不利だと思うんだけどなんか良い効果があるんかね?
2025/06/15(日) 20:20:28.86ID:gRGFgZ6wM
>>311
lea だと、5倍とかも可能 :
lea rax,[rax+rax*4]
2025/06/15(日) 21:11:15.18ID:r3H8nvWy0
>>311
あとleaはフラグを更新しないから比較と分岐の間に入れてパイプラインを最適化するとか
2025/06/16(月) 16:06:36.68ID:2FW5D4OCM
>>313
そういう最適化は、アセンブラ名手の人間にとっては出来る事だけど、
コンパイラの最適化層でやっているコンパイラは限られるだろうね、
知らんけど。
315デフォルトの名無しさん (JP 0H46-E6Ax)
垢版 |
2025/06/16(月) 23:49:02.72ID:m+kaKcwWH
std::formatなるものがC++20規格からあるんですねえ。
これで工学表示したときの鬱陶しい+記号を空白にできる。
しかし、fortranに似ているなあ
316デフォルトの名無しさん (JP 0H46-E6Ax)
垢版 |
2025/06/16(月) 23:59:33.02ID:m+kaKcwWH
いやpythonか?
2025/06/17(火) 10:06:16.94ID:nCRyYLZZ0
似ているというならどういう点がどういう意味で似ているのか述べないと意味ないよ。
2025/06/17(火) 10:52:21.85ID:zrrGfpYo0
スルーできないはちみつ
319デフォルトの名無しさん (JP 0H46-E6Ax)
垢版 |
2025/06/17(火) 10:55:56.73ID:66zQf9l5H
昔のfortran77
write(6,100)
100 format(1h , 5x, G14.7, ...)
のformat文を連想しただけ。

str.formatにも似ているし,C#の要素も取り入れている。
320デフォルトの名無しさん (ワッチョイ 121e-jgBs)
垢版 |
2025/06/17(火) 10:56:25.37ID:2N3jqjoy0
あなたが落したのは、このスルー出来ないはちみつですか?
こっちのスルー出来ないはちみつですか?
って逸話を思い出した
2025/06/17(火) 11:13:00.43ID:4NySVCEQ0
ファイナルをクローズした時にエラーとなるのですが、これは正しいのでしょうか。
やはり、クローズはデストラクタに任せた方がいいのでしょうか。

#include <iostream>
#include <fstream>
int main() {
constexpr auto path = "tmp.txt";//なんでもいいです
std::ifstream ifs(path);
if(ifs.fail()){
std::cerr << "File open error: " << path << std::endl;
return -1;
}
std::string buf;
while(std::getline(ifs, buf))
std::cout << buf << std::endl;
ifs.close(); //←これ
if(ifs.fail()){
std::cerr << "File close error: " << path << std::endl;
return -1;
}
return 0;
}
2025/06/17(火) 11:27:27.12ID:2aAnRxo/0
>>321
ifs.close()前にifs.fail()は真を返す

#include <iostream>
#include <fstream>
int main() {
constexpr auto path = "tmp.txt";//なんでもいいです
std::ifstream ifs(path);
if(ifs.fail()){
std::cerr << "File open error: " << path << std::endl;
return -1;
}
std::string buf;
std::cout << "0: " << ifs.fail() << '\n';
while(std::getline(ifs, buf))
std::cout << buf << std::endl;
std::cout << "1: " << ifs.fail() << '\n';
ifs.close(); //←これ
std::cout << "2: " << ifs.fail() << '\n';
if(ifs.fail()){
std::cerr << "File close error: " << path << std::endl;
return -1;
}
return 0;
}
2025/06/17(火) 11:41:50.14ID:nCRyYLZZ0
std::format の文法の参考にしていると提案文に挙げられているのは Python、 .NET系、Rust のみっつ。
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html#Syntax

コンパイル時計算のメカニズムとの類似性を考慮すると Rust に特に近いと思うが、記法としては Python の影響も強いように見えるかも。
2025/06/17(火) 11:45:37.82ID:TpERKz9s0
>>321
close()したからではなくwhile(std::getline(ifs, buf))でeofになるまで読んだからfailになってる
2025/06/17(火) 12:02:37.80ID:nCRyYLZZ0
>>321
実際に入出力するための機能はストリームバッファと呼ばれるオブジェクトが担当していて、ストリームがストリームバッファを所有する構造になっている。
ストリームが close するとストリームバッファの close が呼ばれて、それが nullptr を返した場合 (クローズに失敗した場合) に setstate(failbit) が呼ばれる。
https://timsong-cpp.github.io/cppwp/n3337/ifstream.members#5
つまり、クローズの失敗によってもフェイルビットが立つことはありうる。

クローズによらない失敗 (フェイルビットを立てる原因) と区別がつかなくなるのでエラーに対処したいならクローズ前後の両方でチェックしないといけないと思う。

デストラクタでクローズするとクローズの失敗に対処する機会がなくなるので明示的にクローズしたほうが良いという人はいる。
ただ、しっかりしたホスト環境の上で動くアプリケーションでクローズが失敗するような状況を心配する意味があるかというと……まああんまりない。
2025/06/17(火) 12:43:21.70ID:4NySVCEQ0
>>322,324,325
ありがとうございました。勉強になります。
ProgramminPlacePlus でのサンプルを元にしました。

なーる真面目にやるなら閉じる前後で色々とやらんといかんのですね。

今までは
readdata=string((istreambuf_iterator<char>(ifs)), istreambuf_iterator<char>());
の感じで、一気にファイル内容をstrigに取り込むような場合は、もう読み込みは無いのですぐに
ifs.close()してました。

デストラクタに任せてもいいのですが、今後も使わなくなったら、即close()したいと思います。
そんなにシビアにならんでもいいようですし・・・mOm
327デフォルトの名無しさん (スップ Sdb2-xekI)
垢版 |
2025/06/18(水) 12:20:43.59ID:tHURl6jRd
プログラム作成は生成AIに持っていかれそうなことを考えると、
コードを書く力よりも、誰かが書いたコードを読み解く力の方が、
この先いきのこれそうな希ガスるンゴ
2025/06/18(水) 13:59:41.64ID:7Ghn3yO50
読み解くのこそAIに勝てないから
329デフォルトの名無しさん (ワッチョイ 5963-LWzS)
垢版 |
2025/06/18(水) 15:17:51.63ID:xKxMFSMx0
コメントのないソースコードから設計意図を読み取るのって難しいよね
AIでそこまでできるのかな?
コードの逐次解釈のようなことは当然できるだろうけども
2025/06/18(水) 15:32:01.08ID:lPJmZhm/M
自然言語に比べたら屁みたいなもんだよ
2025/06/18(水) 15:35:59.98ID:flRjm2Y20
コメントは嘘を書いてもコンパイルエラーにならないからな
コメントがなくても自然と設計意図が読み取れるコードこそ望ましい
332デフォルトの名無しさん (ワッチョイ b2f9-QhKk)
垢版 |
2025/06/18(水) 16:03:36.24ID:Kdic6Khn0
入力に対して出力が出る
それが間違いでなければ中身なんてどうでもいい

何億通りもの入力を与えて出力がどうなるかを調べるのもAIが得意
そうして、それを元に同じことを返すプログラムを一から最適に作り直すのもAIが得意だろう

windowsもそれやれば1/10のコードで収まりそう
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況