前スレ
オブジェクト指向はオワコン?
https://mevius.5ch.io/test/read.cgi/tech/1721393540/
オブジェクト指向はオワコン? part2
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2026/08/13(木) 14:38:03.02ID:pdAcKRXu654デフォルトの名無しさん
2026/08/23(日) 16:50:32.37ID:/SMVVWF/ 特定用途に偏った設計が別の特定用途に整合できるはずが無いんだよね
最初からそれ以外の用途では使わないなら
それは良いも悪いも無いからね
最初からそれ以外の用途では使わないなら
それは良いも悪いも無いからね
655デフォルトの名無しさん
2026/08/23(日) 16:52:50.80ID:/SMVVWF/ オブジェクト指向は万能みたいな夢を騙るから失敗してるとか訳の分からない話をし出す
どんなソフトウェア技法だって万能なんか無い
どんなソフトウェア技法だって万能なんか無い
656デフォルトの名無しさん
2026/08/23(日) 16:55:54.03ID:HWzbbtqX クラス(カプセル化)、動的インスタンス(動的extent)、継承、多態といったもので
プログラムを現すモデルとして実は適していなかったおそれがあると思う
プログラムを現すモデルとして実は適していなかったおそれがあると思う
657デフォルトの名無しさん
2026/08/23(日) 17:10:09.30ID:/SMVVWF/ おまえら、気づかないうちにクラスメソッド使いまくってるじゃんw
658デフォルトの名無しさん
2026/08/23(日) 17:20:57.83ID:iasgGq5L まとめて計算させるためには素数を使う。
可逆性は確認できたが、量子アルゴリズムはそのうち考えることにして、
javaのThreadPoolで高速化できるか、オーバーヘッドのほうが大きいか確認してみようと思う。
可逆性は確認できたが、量子アルゴリズムはそのうち考えることにして、
javaのThreadPoolで高速化できるか、オーバーヘッドのほうが大きいか確認してみようと思う。
659デフォルトの名無しさん
2026/08/23(日) 17:21:26.65ID:vDqnQhmn660デフォルトの名無しさん
2026/08/23(日) 17:22:54.82ID:iasgGq5L まとめて計算させるためには素数を使う。
可逆性は確認できたが、量子アルゴリズムはそのうち考えることにして、
javaのThreadPoolで高速化できるか、オーバーヘッドのほうが大きいか確認してみようと思う。
可逆性は確認できたが、量子アルゴリズムはそのうち考えることにして、
javaのThreadPoolで高速化できるか、オーバーヘッドのほうが大きいか確認してみようと思う。
661デフォルトの名無しさん
2026/08/23(日) 17:24:02.54ID:iasgGq5L ち、ミスった。ボタン押し間違いで二重投稿になった。
662デフォルトの名無しさん
2026/08/23(日) 17:33:30.22ID:4FpMaXiD663デフォルトの名無しさん
2026/08/23(日) 17:35:18.42ID:HWzbbtqX >>659
動的extent - Google 検索
ttps://www.google.com/search?q=%E5%8B%95%E7%9A%84extent&hl=ja
無知の自慢か
オプション指向が逆に分からん
動的extent - Google 検索
ttps://www.google.com/search?q=%E5%8B%95%E7%9A%84extent&hl=ja
無知の自慢か
オプション指向が逆に分からん
664デフォルトの名無しさん
2026/08/23(日) 17:42:19.56ID:IZSLg4J0665デフォルトの名無しさん
2026/08/23(日) 17:43:22.91ID:HWzbbtqX extent って日本人では使い人少ない感じがするな
life time ならよく使われる。変数の life time など
動的life timeを持つ変数 、インスタンス
life time ならよく使われる。変数の life time など
動的life timeを持つ変数 、インスタンス
666デフォルトの名無しさん
2026/08/23(日) 17:44:22.00ID:HWzbbtqX >>664
ねぇextentもしらないで人に絡むのやめない?
ねぇextentもしらないで人に絡むのやめない?
667デフォルトの名無しさん
2026/08/23(日) 17:46:21.02ID:HWzbbtqX かれはscopeくらいならワカルかな。
これも知らぬと絡んできたらプロログらミングのど素人ちゃん確定だ
これも知らぬと絡んできたらプロログらミングのど素人ちゃん確定だ
668デフォルトの名無しさん
2026/08/23(日) 17:49:29.05ID:K/xiM3u4 >>663
そこに出てくるどの意味かね?
Lispだと動的extentはスコープを抜けると消えるローカル変数束縛のこと
C++だと動的extentは配列や連続体の要素数がコンパイル時ではなく実行時に決まること
そこに出てくるどの意味かね?
Lispだと動的extentはスコープを抜けると消えるローカル変数束縛のこと
C++だと動的extentは配列や連続体の要素数がコンパイル時ではなく実行時に決まること
669デフォルトの名無しさん
2026/08/23(日) 17:49:59.43ID:HWzbbtqX もうそういう人たちがクラスだオジェクトだ言ってんだよな
変な時代になったもんだ
変な時代になったもんだ
670デフォルトの名無しさん
2026/08/23(日) 17:55:43.74ID:HWzbbtqX >>668
その両方がそれぞれextentの種別だよ
下のC++のはあきらかに動的じゃないだろ、言われなきゃわからんとは…
extentはお前が書いた「特定の言語でのみ通用する用語」はない
プログラムの変数やメモリの内容の生存期間に関する一般的な用語だよ
なんでおれがど素人講座ここでやtらなきゃならん
ぶつぶつ、少し反省して無知の知にまで至れ
変数のextent - Google 検索
ttps://www.google.com/search?q=%E5%A4%89%E6%95%B0%E3%81%AEextent&&hl=ja&source=hp
AI による概要
プログラミングにおいて変数のエクステント(extent)とは、その変数がメモリ上に存在し、値を保持している生存期間(有効期間)のことです。
プログラムの中で名前がどこから見えるかを表す「スコープ(有効範囲)」とは区別されます。
エクステントの種類
静的エクステント(Static):プログラムの開始から終了までずっとメモリに存在します。
自動エクステント(Automatic):関数やブロックの実行が始まった時に作られ、終わると消えます。
動的エクステント(Dynamic):プログラムの実行中に明示的な割り当てと解放を行って管理します。
スコープとの違い
スコープ:名前を参照できる範囲(どこで書けるか)
エクステント:メモリに存在している期間(いつ使えるか)たとえば、C言語の static 付きローカル変数は、スコープは関数内だけですが、
エクステントはプログラム全体(静的)になります。
以下略
その両方がそれぞれextentの種別だよ
下のC++のはあきらかに動的じゃないだろ、言われなきゃわからんとは…
extentはお前が書いた「特定の言語でのみ通用する用語」はない
プログラムの変数やメモリの内容の生存期間に関する一般的な用語だよ
なんでおれがど素人講座ここでやtらなきゃならん
ぶつぶつ、少し反省して無知の知にまで至れ
変数のextent - Google 検索
ttps://www.google.com/search?q=%E5%A4%89%E6%95%B0%E3%81%AEextent&&hl=ja&source=hp
AI による概要
プログラミングにおいて変数のエクステント(extent)とは、その変数がメモリ上に存在し、値を保持している生存期間(有効期間)のことです。
プログラムの中で名前がどこから見えるかを表す「スコープ(有効範囲)」とは区別されます。
エクステントの種類
静的エクステント(Static):プログラムの開始から終了までずっとメモリに存在します。
自動エクステント(Automatic):関数やブロックの実行が始まった時に作られ、終わると消えます。
動的エクステント(Dynamic):プログラムの実行中に明示的な割り当てと解放を行って管理します。
スコープとの違い
スコープ:名前を参照できる範囲(どこで書けるか)
エクステント:メモリに存在している期間(いつ使えるか)たとえば、C言語の static 付きローカル変数は、スコープは関数内だけですが、
エクステントはプログラム全体(静的)になります。
以下略
671デフォルトの名無しさん
2026/08/23(日) 17:58:05.85ID:HWzbbtqX プログラミングのすそ野が広がったってことだな
すそ野といえばまだ耳障り良いが、底辺だわ
すそ野といえばまだ耳障り良いが、底辺だわ
672デフォルトの名無しさん
2026/08/23(日) 17:59:02.41ID:HWzbbtqX あと、リンケージっていう大切な概念があんだよね
絶対に知らないだろうけど
絶対に知らないだろうけど
673デフォルトの名無しさん
2026/08/23(日) 17:59:19.29ID:M+PVsTq+674デフォルトの名無しさん
2026/08/23(日) 18:01:33.96ID:HWzbbtqX >>673
なんとなくしかわからないならほんと勉強を基礎からひっしにやらないとまともなエンジニアのレベルに追いつかないぞ
それはお前自身のことだから百歩譲ってまかせるとしてだな
自分が無知なのに他人が悪いみたいなに絡むのはなぜじゃ
せいかくもくさっているのか?
なんとなくしかわからないならほんと勉強を基礎からひっしにやらないとまともなエンジニアのレベルに追いつかないぞ
それはお前自身のことだから百歩譲ってまかせるとしてだな
自分が無知なのに他人が悪いみたいなに絡むのはなぜじゃ
せいかくもくさっているのか?
675デフォルトの名無しさん
2026/08/23(日) 18:02:55.68ID:EWaz+NdE >>670
それは変数のextentだね
最初からそう言いなさい
C++20で導入された動的extentは別の意味
動的extentだと各自が脳内に思い浮かべることが異なることをようやく理解できたかな?
それは変数のextentだね
最初からそう言いなさい
C++20で導入された動的extentは別の意味
動的extentだと各自が脳内に思い浮かべることが異なることをようやく理解できたかな?
676デフォルトの名無しさん
2026/08/23(日) 18:03:08.49ID:HWzbbtqX いんすたんすにだって変数と同様にlife timがあるだろうに
馬鹿垂れが!
なんとなくとはなんだなんとなくとは
そんなんで開発してたら周りに迷惑かけるぞ
馬鹿垂れが!
なんとなくとはなんだなんとなくとは
そんなんで開発してたら周りに迷惑かけるぞ
677デフォルトの名無しさん
2026/08/23(日) 18:05:17.28ID:EWaz+NdE678デフォルトの名無しさん
2026/08/23(日) 18:06:42.18ID:HWzbbtqX >>675
>C++20で導入された動的extentは別の意味
あのなあ、変数やobjectのextentは、高水準言語が深化した
数十年前からあるプログラミングの基本概念なの
おまえがC++20について言っているような「特定の言語でのみ通用する用語」ではないの
>C++20で導入された動的extentは別の意味
あのなあ、変数やobjectのextentは、高水準言語が深化した
数十年前からあるプログラミングの基本概念なの
おまえがC++20について言っているような「特定の言語でのみ通用する用語」ではないの
679デフォルトの名無しさん
2026/08/23(日) 18:08:38.48ID:HWzbbtqX680デフォルトの名無しさん
2026/08/23(日) 18:10:26.18ID:HWzbbtqX >>679 誤記
× extentはstatic extentを持ちglobal scopeを持つ変数またはオブジェクトの宣言
○ externはstatic extentを持ちglobal scopeを持つ変数またはオブジェクトの宣言
自分がたまたま知っている擁護に、知らない概念を無理と対応付けないほうが良い
キミ、ソフトウエアに適正ないかも知れない
× extentはstatic extentを持ちglobal scopeを持つ変数またはオブジェクトの宣言
○ externはstatic extentを持ちglobal scopeを持つ変数またはオブジェクトの宣言
自分がたまたま知っている擁護に、知らない概念を無理と対応付けないほうが良い
キミ、ソフトウエアに適正ないかも知れない
681デフォルトの名無しさん
2026/08/23(日) 18:12:00.07ID:kSpVm1vf682デフォルトの名無しさん
2026/08/23(日) 18:12:03.63ID:HWzbbtqX オブジェクト信奉者って、こういうレベルの層が多いんだろうな
どうりでぐちゃぐちゃなコードが量産されるわけだ
どうりでぐちゃぐちゃなコードが量産されるわけだ
683デフォルトの名無しさん
2026/08/23(日) 18:13:38.09ID:kSpVm1vf684デフォルトの名無しさん
2026/08/23(日) 18:14:25.88ID:HWzbbtqX685デフォルトの名無しさん
2026/08/23(日) 18:15:21.58ID:/SMVVWF/ まあ、クラスなんてネームスペースだけあれば良いかったんだよね
686デフォルトの名無しさん
2026/08/23(日) 18:16:47.20ID:HWzbbtqX >>683 きみ、かわいそうなくらいど素人だね。
プログラミンのみならず、頭の回転も悪いみたいだし
ここでextern, extent, scope, static, global それぞれ何か長々説明しろっていうのか?
もう笑うしかない
子ども電話相談室じゃないぞw俺は
プログラミンのみならず、頭の回転も悪いみたいだし
ここでextern, extent, scope, static, global それぞれ何か長々説明しろっていうのか?
もう笑うしかない
子ども電話相談室じゃないぞw俺は
687デフォルトの名無しさん
2026/08/23(日) 18:16:52.87ID:aJFAwnCP 俺は理解できたよ
ID:HWzbbtqXは脳内に勝手な想定や限定や仮定が存在するがそれを言語化して他人に伝えることができない典型的なダメ人間であると
ID:HWzbbtqXは脳内に勝手な想定や限定や仮定が存在するがそれを言語化して他人に伝えることができない典型的なダメ人間であると
688デフォルトの名無しさん
2026/08/23(日) 18:18:01.59ID:HWzbbtqX689デフォルトの名無しさん
2026/08/23(日) 18:19:29.44ID:HWzbbtqX >>687
また変な人が出て来たw
また変な人が出て来たw
690デフォルトの名無しさん
2026/08/23(日) 18:19:36.72ID:aJFAwnCP691デフォルトの名無しさん
2026/08/23(日) 18:20:02.90ID:HWzbbtqX >>690
理解できなかっただけだろ
理解できなかっただけだろ
692デフォルトの名無しさん
2026/08/23(日) 18:20:26.21ID:/SMVVWF/693デフォルトの名無しさん
2026/08/23(日) 18:21:40.52ID:HWzbbtqX ひえー
ど素人たちに取り囲まれたw
ど素人たちに取り囲まれたw
694デフォルトの名無しさん
2026/08/23(日) 18:23:17.74ID:M+PVsTq+695デフォルトの名無しさん
2026/08/23(日) 18:28:26.49ID:H8lujsG7 複数の異なる意味がある用語を使ってしまうことはよくあること
それを指摘されたらこの意味だと説明することで会話や会議や商談が進む
今回のような逆ギレで暴れる人は嫌われる
それを指摘されたらこの意味だと説明することで会話や会議や商談が進む
今回のような逆ギレで暴れる人は嫌われる
696デフォルトの名無しさん
2026/08/23(日) 18:29:14.42ID:H8lujsG7 >>694
同感
同感
697デフォルトの名無しさん
2026/08/23(日) 18:31:33.29ID:HWzbbtqX >>695
extenの概念すら知らないで何でそんなに偉そうなの?
extenの概念すら知らないで何でそんなに偉そうなの?
698デフォルトの名無しさん
2026/08/23(日) 18:33:16.99ID:/SMVVWF/ 慌てず綴りくらいちゃんと書いて
699デフォルトの名無しさん
2026/08/23(日) 18:38:25.76ID:HWzbbtqX700デフォルトの名無しさん
2026/08/23(日) 18:46:38.55ID:/SMVVWF/ つか全く別の話だよね?
701デフォルトの名無しさん
2026/08/23(日) 18:47:53.90ID:+EvqEEFr extentは範囲や程度を意味する一般的な単語なのでプログラミング分野に限っても多様な意味で使われている
今回の「動的extent」も指摘があったようにC++では「動的な範囲」を持つこと意味する
つまり配列などの要素数が静的ではなく実行時に決まることを表している
今回の「動的extent」も指摘があったようにC++では「動的な範囲」を持つこと意味する
つまり配列などの要素数が静的ではなく実行時に決まることを表している
702デフォルトの名無しさん
2026/08/23(日) 18:49:09.14ID:HWzbbtqX703デフォルトの名無しさん
2026/08/23(日) 18:51:43.25ID:HWzbbtqX もう初歩からの質問があってもご遠慮したい
俺にとって発展性がない
俺にとって発展性がない
704デフォルトの名無しさん
2026/08/23(日) 18:52:47.67ID:/SMVVWF/ 時間と空間の違いって解釈したんだが
705デフォルトの名無しさん
2026/08/23(日) 18:53:31.71ID:+EvqEEFr ID:HWzbbtqX氏はextentを時間的な範囲つまり期間だけを指すと誤解していると思われる
706デフォルトの名無しさん
2026/08/23(日) 18:53:46.51ID:HWzbbtqX 「範囲や程度を意味する」って何よw
707デフォルトの名無しさん
2026/08/23(日) 18:55:42.10ID:HWzbbtqX708デフォルトの名無しさん
2026/08/23(日) 18:56:19.44ID:/SMVVWF/ グーグルAIの答えは
プログラム言語(プログラミング)における extent と scope は、どちらも変数やオブジェクトが「どこで、いつまで有効か」を扱いますが、概念が明確に分かれています。一言で言うと、scope は「場所(空間)」であり、extent は「時間(寿命)」です。
プログラム言語(プログラミング)における extent と scope は、どちらも変数やオブジェクトが「どこで、いつまで有効か」を扱いますが、概念が明確に分かれています。一言で言うと、scope は「場所(空間)」であり、extent は「時間(寿命)」です。
709デフォルトの名無しさん
2026/08/23(日) 18:56:22.27ID:HWzbbtqX 程度を意味する
…なんだろう
…なんだろう
710デフォルトの名無しさん
2026/08/23(日) 18:57:28.00ID:HWzbbtqX711デフォルトの名無しさん
2026/08/23(日) 18:59:22.70ID:HWzbbtqX 君らにお願いだけど、基礎的な概念については教科書やWEBや生成AIで勉強してから
議論に臨んでほしい
議論に臨んでほしい
712デフォルトの名無しさん
2026/08/23(日) 18:59:35.65ID:/SMVVWF/ で、scopeはプログラム書く時に静的に決めるけど、extentはそれこそ動的に決まるからコード上で静的に書くには別のやり方になるんじゃないの?
713デフォルトの名無しさん
2026/08/23(日) 19:00:03.42ID:VaEt5gsH ぶっちゃけ一部のお爺ちゃんしか知らない死語
分類法が微妙すぎて意味をなさなくなったんじゃねーのかな
分類法が微妙すぎて意味をなさなくなったんじゃねーのかな
714デフォルトの名無しさん
2026/08/23(日) 19:01:09.45ID:+EvqEEFr >>707
違う
extentは広さや範囲を意味する単語
時間の範囲を意味することもあるがそれは期間などの限定を添えなければ伝わらない
C++のdynamic extentは期間ではなく領域のサイズが実行時に決まること
違う
extentは広さや範囲を意味する単語
時間の範囲を意味することもあるがそれは期間などの限定を添えなければ伝わらない
C++のdynamic extentは期間ではなく領域のサイズが実行時に決まること
715デフォルトの名無しさん
2026/08/23(日) 19:01:17.90ID:HWzbbtqX716デフォルトの名無しさん
2026/08/23(日) 19:03:31.08ID:HWzbbtqX717デフォルトの名無しさん
2026/08/23(日) 19:03:36.23ID:/SMVVWF/ >>715
そんな答えじゃ誰も分からないんだけど?
そんな答えじゃ誰も分からないんだけど?
718デフォルトの名無しさん
2026/08/23(日) 19:05:39.03ID:/SMVVWF/ 概念が違う同士が平行線でw
719デフォルトの名無しさん
2026/08/23(日) 19:05:55.80ID:HWzbbtqX dynamic(allocation)&extent(control???)みたいな意味かね
どこぞに原点があるかもな しらんが
どこぞに原点があるかもな しらんが
720デフォルトの名無しさん
2026/08/23(日) 19:07:43.35ID:HWzbbtqX721デフォルトの名無しさん
2026/08/23(日) 19:08:39.59ID:/SMVVWF/ >>720
だから調べたけど、君と概念が違うんだけどw
だから調べたけど、君と概念が違うんだけどw
722デフォルトの名無しさん
2026/08/23(日) 19:09:32.49ID:GL/OuKQX723デフォルトの名無しさん
2026/08/23(日) 19:09:53.75ID:HWzbbtqX >>721 調べた結果得られた答えが これか
「scopeはプログラム書く時に静的に決めるけど、extentはそれこそ動的に決まるからコード上で静的に書くには別のやり方」
「scopeはプログラム書く時に静的に決めるけど、extentはそれこそ動的に決まるからコード上で静的に書くには別のやり方」
724デフォルトの名無しさん
2026/08/23(日) 19:10:54.08ID:HWzbbtqX >>722
googleでもいいいから基礎概念はまず調べて
googleでもいいいから基礎概念はまず調べて
725デフォルトの名無しさん
2026/08/23(日) 19:11:21.84ID:/SMVVWF/ >>723
コードを時系列に並べる書き方って確立かれてないから面倒だなぁってw
コードを時系列に並べる書き方って確立かれてないから面倒だなぁってw
726デフォルトの名無しさん
2026/08/23(日) 19:13:14.31ID:HWzbbtqX 日本語おk?
727デフォルトの名無しさん
2026/08/23(日) 19:15:01.58ID:/SMVVWF/ オブジェクトがある時間存在してるかどうかを保証する方法ってどう書くんだろ?
728デフォルトの名無しさん
2026/08/23(日) 19:17:12.81ID:/SMVVWF/ 先祖がヌルポと戦って来た歴史から未だに解決しない問題だよぉ
729デフォルトの名無しさん
2026/08/23(日) 19:26:03.06ID:s5u0XSsl extentの英語の意味は「広さ」「広がり」がベースで「範囲」「限度」「程度」を意味する単語だよ
そこに時間的な意味は含まれてない
むしろ空間的な意味が原義
だからプログラミング言語によっては時間的な意味では使われない普遍的な単語
そこに時間的な意味は含まれてない
むしろ空間的な意味が原義
だからプログラミング言語によっては時間的な意味では使われない普遍的な単語
730デフォルトの名無しさん
2026/08/23(日) 19:27:21.45ID:/SMVVWF/731デフォルトの名無しさん
2026/08/23(日) 19:29:47.73ID:HWzbbtqX ttps://nolongerset.com/scope-vs-extent-in-vba/
732デフォルトの名無しさん
2026/08/23(日) 19:30:28.92ID:HWzbbtqX ttps://www.lix.polytechnique.fr/~liberti/public/computing/prog/lisp/cltl/clm/node43.html
733デフォルトの名無しさん
2026/08/23(日) 19:31:32.62ID:HWzbbtqX もう、子ども電話相談室のオジサンとかコテ張るかw
しないけどw
しないけどw
734デフォルトの名無しさん
2026/08/23(日) 19:34:50.96ID:s5u0XSsl >>730
C++の場合
静的なextentは静的に広がりが決まる連続体のこと
動的なextentは動的に広がりか決まる連続体のこと
前者は具体的な要素数がコンパイル時に決まるので具体的な要素数を書く場所で
後者は具体的な要素数がコンパイル時に決まらないことを示すstd::dynamic_extentを使うんだよ
C++の場合
静的なextentは静的に広がりが決まる連続体のこと
動的なextentは動的に広がりか決まる連続体のこと
前者は具体的な要素数がコンパイル時に決まるので具体的な要素数を書く場所で
後者は具体的な要素数がコンパイル時に決まらないことを示すstd::dynamic_extentを使うんだよ
735デフォルトの名無しさん
2026/08/23(日) 19:38:42.12ID:HWzbbtqX 「広がり」っていう言葉が適しているのか?
736デフォルトの名無しさん
2026/08/23(日) 19:39:06.05ID:M+PVsTq+ 英単語としてのextentは程度・範囲という意味であり、プログラミング一般用語として、scopeと対置的に用いられる場合のextentは、名前束縛やオブジェクトの「寿命・ライフタイム」の意味で用いられるのが一般的。決して死語とかではなくて、今でも使われる重要な基本概念といえる。ここら辺までは一応共通理解といって良いと思う。
そこから進んで(ライフタイムの意味の)extentの分類として>>670で挙げられているような自動/動的/静的という三分法が、説明なしで通用するほど一般的な共通理解かというとちょっと疑わしくて、C言語的な感覚からはこの三分法はわかりやすいのだけど、たとえば>>663は三分法でいうところの自動extentの意味で、動的extentという語を用いているように見える。だから疑義が出たら説明の必要があるくらいの概念だと思うけどね。
この手の話でいうと、個人的にはスコープ(プログラムテキストの範囲)と名前空間(名前束縛の集合)の概念が混用されがちなのが気になることが多いかな。文脈でわかると言えば分かるんだけど。
そこから進んで(ライフタイムの意味の)extentの分類として>>670で挙げられているような自動/動的/静的という三分法が、説明なしで通用するほど一般的な共通理解かというとちょっと疑わしくて、C言語的な感覚からはこの三分法はわかりやすいのだけど、たとえば>>663は三分法でいうところの自動extentの意味で、動的extentという語を用いているように見える。だから疑義が出たら説明の必要があるくらいの概念だと思うけどね。
この手の話でいうと、個人的にはスコープ(プログラムテキストの範囲)と名前空間(名前束縛の集合)の概念が混用されがちなのが気になることが多いかな。文脈でわかると言えば分かるんだけど。
737デフォルトの名無しさん
2026/08/23(日) 19:39:17.56ID:/SMVVWF/ どのAIに聞いても
scopeは空間で、extentは時間(期間)
だって答えるよ
scopeは空間で、extentは時間(期間)
だって答えるよ
738デフォルトの名無しさん
2026/08/23(日) 19:40:21.35ID:HWzbbtqX C++ std::dynamic_extent 広がり 連続体 - Google 検索
ttps://www.google.com/search?q=C%2B%2B+std%3A%3Adynamic_extent+%E5%BA%83%E3%81%8C%E3%82%8A+%E9%80%A3%E7%B6%9A%E4%BD%93&hl=ja
「広がり」 「連続体」 検索で見当らないが
造語?
ttps://www.google.com/search?q=C%2B%2B+std%3A%3Adynamic_extent+%E5%BA%83%E3%81%8C%E3%82%8A+%E9%80%A3%E7%B6%9A%E4%BD%93&hl=ja
「広がり」 「連続体」 検索で見当らないが
造語?
739デフォルトの名無しさん
2026/08/23(日) 19:41:42.55ID:vGPmWGdI lifetimeでええやん
740デフォルトの名無しさん
2026/08/23(日) 19:41:52.22ID:HWzbbtqX741デフォルトの名無しさん
2026/08/23(日) 19:42:00.06ID:/SMVVWF/ 静的extentってもプログラムの生存期間とイコールなだけだよなぁ
742デフォルトの名無しさん
2026/08/23(日) 19:44:03.25ID:HWzbbtqX743デフォルトの名無しさん
2026/08/23(日) 19:45:42.76ID:HWzbbtqX744デフォルトの名無しさん
2026/08/23(日) 19:50:31.78ID:LyvdCiRX 四種類あります
【Static lifetime】
プログラム開始から終了まで存在する。
静的変数やグローバル変数が該当。
メモリはプログラムのロード時に確保され、終了時に解放される。
例(C言語):
static int counter = 0; // プログラム全体で生存
【Automatic lifetime】
関数やブロックの実行中だけ存在する。
ローカル変数(スタック上に確保される)が該当。
関数終了時に自動的に解放される。
例(C言語):
void func() {
int x = 10; // 関数終了と同時に消える
}
【Dynamic lifetime】
実行時に明示的に確保し、明示的に解放するまで存在する。
ヒープ領域を使う動的メモリ確保が該当。
例(C言語):
int *p = malloc(sizeof(int)); // 確保
*p = 42;
free(p); // 解放
【Temporary lifetime】
式の評価中だけ存在する一時オブジェクト。
C++ 等の一時オブジェクトや、関数の戻り値として生成される値など。
例(C++):
std::string s = std::string("Hello") + " World"; // 加算結果は一時オブジェクト
【Static lifetime】
プログラム開始から終了まで存在する。
静的変数やグローバル変数が該当。
メモリはプログラムのロード時に確保され、終了時に解放される。
例(C言語):
static int counter = 0; // プログラム全体で生存
【Automatic lifetime】
関数やブロックの実行中だけ存在する。
ローカル変数(スタック上に確保される)が該当。
関数終了時に自動的に解放される。
例(C言語):
void func() {
int x = 10; // 関数終了と同時に消える
}
【Dynamic lifetime】
実行時に明示的に確保し、明示的に解放するまで存在する。
ヒープ領域を使う動的メモリ確保が該当。
例(C言語):
int *p = malloc(sizeof(int)); // 確保
*p = 42;
free(p); // 解放
【Temporary lifetime】
式の評価中だけ存在する一時オブジェクト。
C++ 等の一時オブジェクトや、関数の戻り値として生成される値など。
例(C++):
std::string s = std::string("Hello") + " World"; // 加算結果は一時オブジェクト
745デフォルトの名無しさん
2026/08/23(日) 20:01:56.91ID:HWzbbtqX >>744
その分類では、C,C+の演算過程の値や関数の戻り値を第4のTemporary lifetimeとして分類しているけど
それらは通常CPUレジスタ上に割付けられる。
構造体を返す関数の戻り値は、言語処理系の設計ポリシーにより何種類かあるが
・レジスターにのせて返せるものはレジスターで返す
・callee側に隠れ静的領域を確保しておいてそこに構造体戻り値を格納しポインターをかえす(再帰呼び出し不可)
・caller側の変数領域に隠れ領域を確保しておいてそのpoinerをcaller - callee間の隠れ引数でやり取りする
など、
したがって、バイナリレベルで厳密に見ると、演算過程の値や関数の戻り値は
ちょっと違ったextentをもつともいえる
その分類では、C,C+の演算過程の値や関数の戻り値を第4のTemporary lifetimeとして分類しているけど
それらは通常CPUレジスタ上に割付けられる。
構造体を返す関数の戻り値は、言語処理系の設計ポリシーにより何種類かあるが
・レジスターにのせて返せるものはレジスターで返す
・callee側に隠れ静的領域を確保しておいてそこに構造体戻り値を格納しポインターをかえす(再帰呼び出し不可)
・caller側の変数領域に隠れ領域を確保しておいてそのpoinerをcaller - callee間の隠れ引数でやり取りする
など、
したがって、バイナリレベルで厳密に見ると、演算過程の値や関数の戻り値は
ちょっと違ったextentをもつともいえる
746デフォルトの名無しさん
2026/08/23(日) 20:03:31.84ID:HWzbbtqX まあいいやこういう議論ができる椰子を5chですっかり見かけなくなったな
最近は素人バッカで寂しいことだ
最近は素人バッカで寂しいことだ
747デフォルトの名無しさん
2026/08/23(日) 20:08:24.38ID:LEbYCREd748デフォルトの名無しさん
2026/08/23(日) 20:10:03.03ID:HWzbbtqX749デフォルトの名無しさん
2026/08/23(日) 20:10:42.58ID:/SMVVWF/ で、そのそれぞれのextentを安全に扱える事を保証する書き方ってあるの?
ってのが>>712
ってのが>>712
750デフォルトの名無しさん
2026/08/23(日) 20:12:21.25ID:HWzbbtqX そりゃまた全然別の話だな
安全に扱える事の保証まで話を飛ばした覚えはないぞ
安全に扱える事の保証まで話を飛ばした覚えはないぞ
751デフォルトの名無しさん
2026/08/23(日) 20:17:01.44ID:nqebcotO >>749
Rustのlifetimeの概念は存在する場所を指す参照の有効性まで保証するためメモリ安全性まで保証される
Rustのlifetimeの概念は存在する場所を指す参照の有効性まで保証するためメモリ安全性まで保証される
752デフォルトの名無しさん
2026/08/23(日) 20:19:52.55ID:/SMVVWF/753デフォルトの名無しさん
2026/08/23(日) 20:29:57.00ID:/SMVVWF/ Rustはオブジェクト指向言語じゃ無いとか言ってるけど、全然オブジェクト指向じゃん
なんだよ騙されたわ
なんだよ騙されたわ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【競馬】凱旋門賞 ダリズが連覇! 武豊が騎乗した日本馬・メイショウタバルは14着 アドマイヤテラは11着 [冬月記者★]
- ヒコロヒー 新幹線でカレーや肉まん等ニオイの強いもの食べる問題に「食べていいというルールになっている以上、ある程度仕方ないよね」 [muffin★]
- 副首都構想 広島は人口要件満たさず 横田知事が国に意見表明へ [首都圏の虎★]
- 大谷翔平が吐露…「自分のなかでもあまりよくない年の一つ」「WBCがあるとすごく長く感じる」★2 [王子★]
- 盗難された高級車を保管していたパキスタン人3人を逮捕 [お断り★]
- 【平均給与】男性は400万円台、女性は200万円台が最多。平均487万円より下に人が集まり、年収500万円以下が約6割 [首都圏の虎★]