TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
【ケンモー食糧難対策本部】食糧を備蓄したほうがいいかどうか真剣に考えるスレ [386780362]
Rが上手いセクシー女優教えてくれ [212929409]
トランプ、糖質になる。「中国の感染者数はアメリカより多いんだ…俺は騙されねぇぞ…」 [971283288]
【IWGP】黒夢の清春、うさんくさいおっさんになる [377482965]
【朗報】安倍総理、コロナワクチンを年末までに確保を明言 [865020593]
【炎上】ジャンプの人気漫画がアンチに叩かれすぎて打ち切りへ。作者のメンタルはポロボロ。編集は何やってんだよ [652338789]
【悲報】新入社員が忘年会を休んだ末路www [489551734]
【動画】NEC製 空飛ぶクルマ 実験成功 [319726179]
三大都市は東京大阪福岡、横浜は東京の付属品だから都市じゃなくて郊外って言うやついるけどさ [409994479]
【画像】まんさん、ブラの隙間から乳首を撮られてしまう [875850925]

(ヽ゚ん゚)「C言語はポインタで詰む!」これなんなの?嫌儲で「>>15」とかで日常的に使う概念じゃん [748768864]


1 :2019/05/21 〜 最終レス :2019/05/23
http://img.2ch.sc/ico/nida.gif
小学校で「30歳までに社長になる」と宣言 GCPでナンバーワンに――クラウドエース 吉積礼敏さん
https://enterprisezine.jp/article/detail/12024

2 :
>>15にまた別のものが書かれてるんだぞ

3 :
>>2
レスバトル中だと割とよくある

4 :
詰むのはポインタのポインタだろ?

5 :
ポインタは家そのものでなく住所
なにが難しい?

6 :
*p



&p

7 :
メモリのブックマーク

8 :
Cのポインタの記号の使い方が紛らわしいだけ

9 :
ポインタ以前にCはC++より使いづらいから
Javaやc#の方がいかに書きやすいか・・

10 :
レジスタの概念がわかってないからポインタで詰むんだろ
自分が何を制御しているのかくらい知っとけよ

11 :
プログラミング勉強する前にめちゃめちゃビビらされたな
選ばれし者しか理解できない概念みたいな感じで
アホやろ

12 :
>>1
こういうことだろ

56   思想家(東京都) 2010/09/27(月) 09:50:04.83 ID:s2TCOy1qP (p2)
>>15

これがポインタの指すレス番で

15  声楽家(関西地方) 2010/09/27(月) 09:38:37.84 ID:tK/qXfqX0 (PC)
初心者がつまずくというポインタってなんなの
ポインタって言語としてどういう利点あるの?
初学なんだけどポインタまで行ってないから教えて

これが「ポインタが指し示すレス番の中身」

レス番だけ示した方がいろいろと抽象化されて省略が可能で捗る

で、おまえのパソコンのポインタ(矢印)でレス番を指すと中身がポップアップされるだろ
そういう風に柔軟な表現、動的な表現が出来て美しい

13 :
いきなりCやるからだろ

ポインタの定義はCが決めてるわけじゃない

14 :
アセンブラから始めれば余裕だろ
メモリとかアドレスの概念を理解しろ

15 :
ローソンで使うやつな

16 :
int 5[array]:
とか書ける欠陥言語

17 :
今更組み込み以外でCやる理由ってなんなの

18 :
*a
a*
&a
a&
わけがわからないよ
だれか説明して

19 :
>>15
たぬきのやつな

20 :
今時分ポインタ理解する必要なんてほとんどない気がする

21 :
これさあ教科書の例題が悪いと思うんだよね
ポインタ使うメリットが見えてこないもん

22 :
ポインタで自分が一番参考になった本はあるけど
今から紹介したとて20年ほど前なのでまあ売ってないだろなと

23 :
Goやれ定期

24 :
>>15
それはポイントカード

25 :
ポインタが分からんとか意味が分からん
最初によっぽど変な説明されたのか

26 :
ポインタ知らないやつって関数からの戻り値をどうやって受け取ってるの?

27 :
「お前はバカだ」というのが直接
「お前はバカだ、てaが言ってたよ」がポインタ
「お前はバカだ、てaは言える立場かも」が関数へのポインタ

28 :
C#やれ
ポインタなんかいらん

29 :
ポインタが難しいというのが分からない
他の概念と学習難易度に大差ないだろ

30 :
変数そのものがポインタなんだよ
ポインタのポインタ
考えるな!感じろ!

31 :
>>24
いや、ポンタな

32 :
ポインターじゃなくてCのクソみたいな書き方が悪い

33 :
全くわかりませんでした

34 :
ポインタって名前が悪いとおもうんだよね

35 :
>>9
意味不明

36 :
>>27
わかりにくすぎて草

37 :
詰むのは頭が悪いだけだろ

38 :
ほいこれ
http://www.pro.or.jp/~fuji/mybooks/cdiag/

39 :
>>19
ポインコじゃないのかよ

40 :
>>20
今時ですらそんなアホな事言ってるの底辺Webコーダーぐらいですよ
Webですら今のjsのウイルスとかASLR対策とかしてるからセキュリティでも知識必須
そもそもブラウザのソースがC++だし
jsの言語仕様見てもリニアアドレッシング前提だし
npmやpythonなどのパッケージ実装見ればCのソースも普通に出てくるレベル

41 :
ポインタで詰む詰まないの議論で詰んでるからやっぱりポインタで詰むのは間違いない

42 :
既につまずいてるし
>>n 値渡し
*n 参照渡し

43 :
>>40
C信者はいつも同じことしか言わないな
「元はCだからその知識は必須!」なんて理由になってないよ
お前は機械語でも勉強してな

44 :
>>43
そもそも俺が話してるのC++とリニアアドレッシングのモデルなんだけど
お前読解力なさすぎじゃん?

45 :
つか機械語て
本当ニワカ増えたな

46 :
健常者ならポインタなんかで詰んだりしない

47 :
>>15」とかはどっちかいとうとリスト構造だよな

48 :
ああ、そっかこの人ガチで底辺コーダーなのか
そらASLRの話しても通じないわけだ

49 :
ポインタで詰むようなヤツはプログラム向いてないってことだろ
でいういか、周りに迷惑だからSEとかになればいいと思う

50 :
ポインタの概念自体は難しくないかもしれんが
ポインタ使ったソース作るのは難しいわ
簡単に簡単って言える奴はソース書いてないのがバレバレ

分かったつもりの奴は
int ( *hoge( int a, float ( *b )( int c ) ) )( float d );
の意味わかる?

51 :
ふと思ったんだけど「ポインタがわからない」んじゃなくて「変数がわかってない」んじゃないの
関数型言語みたいな何となく数学的な式を書くと何となく動いてくれるのがプログラムくらいの認識で
それまで誤摩化してきたやるがいるってだけの話だと思う

52 :
>>18
前の穴か後ろの穴かってことだよ

53 :
ポインタ演算、関数呼び出しの仮引数の型、関数ポインタこの辺に罠があるな。javaも結局のところポインタ扱ってるけど詰まる要素一切無いしな

54 :
>>50
そういう事じゃないというかそれは簡単じゃんよ
表記だけならC++のSFINAE入りTMPとかのが地獄だよ

あと蛇足だけどbはこうは書かないよ
関数ポインタの引数として扱う時点で普通bの型はtypedefしておくから

それとポインタが難しいのは表記じゃなくてvoid*とキャストでOOPっぽい事したり
メモリ割当解放とリスト操作周りで追いにくくなるからだ

55 :
PIC、マイコンおじさんか
現代っ子プログラマーかの違いか

56 :
Cはなんとなく勉強したけど、ポインタを使わなければならない理由はよくわからなかった

57 :
>>56
Cに参照はない
だからポインタ使う

58 :
*p
**p
***p

59 :
>>58
ごめんなさい
確かにダブルポインタは見るだけで嫌になるね

60 :
>>20
メモリなんてコンパイラが全部やれよって思うしな
高級言語のくせに変数初期化もしてねえとか雑すぎだろ

61 :
マイコンだとアドレスも自分で指定する

62 :
>>60
コンパイラがやるの?
チェックではなく?

63 :
いくら高級な言語使おうが実装側の知識は必須なのになあ

64 :
いや概念は理解できるけど使い方が分からない

65 :
(ヽ´ん`)「ポインタは住所。または2ちゃんのレスアンカーと同じ」
これが解ったからといって、Cでプログラムが作れるわけではない
変数が箱、二次元配列が下駄箱とか、そんな例え話ばっか得意でも、(ヽ´ん`)は
いつまでたってもプログラムどころか就職すらできてないだろ?

66 :
>>50
関数のポインタ渡しがネストしてるだけだろ

67 :
ポインタ理解できてない人はJavaやC#とかもあんまうまく使いこなせない

68 :
>>66
微妙に違うぞ
関数取って関数返す関数

69 :
基本過ぎてワロタ
ゲーム改造とかやった事無いのかな
どんなゲームでもポインタを使いまくってるからすぐに分かるようになる

70 :
>>42
わかってないなw

71 :
>>18
ポインタがというよりこれが原因
まったく直感的ではない上に紛らわしくて混乱しミスを多発させる

72 :
javascriptの言語仕様でメモリモデルまで決まってるのってマジなん?

73 :
C++は十徳ナイフ
Cは専用工具

74 :
>>72
言語仕様に実装モデルまで決まってるわけない
見る限りそう想定されてるというだけ

C言語のメモリも同じで言語仕様では仮想的に言語仕様上のメモリ空間を想定してるだけだから
なのでCのポインタで機械語だのとそのまま解釈して語ってるのはネットのニワカ知識しかない奴になる
そもそも機械語に型なんて無いのに

75 :
今どき、Unity開発環境でもC#ベースだってのに
CやC++のポインタの概念覚える必要全く無いぞ
Pythonでも使わない

76 :
そもそもアセンブリ飛び越して機械語とか言ってる時点でニワカだけど
ハンドアセンブルとか古のz80かよ

77 :
詰まないけど 他の言語に慣れると 何でこんな事を気にする必要が と思う
その一方 他の言語で何でここがこうできないんだ とも思う

78 :
つーか変数が理解できてポインタ理解できない奴は実在するのか?
C言語ヲタが仮想敵作ってホルホルしてるだけじゃないの

79 :
>>75
Pythonだろうとバッファや配列のインデックス値操作がまんまポインタじゃん
そもそもヒープ生成する時とかどうすんだこういうアホなこと言ってる奴らは

80 :
>>78
ポインタが必要ないとか言ってる変な初心者?がいるだけで
ポインタ覚えるのが難しいとかいってるC使いはまずいないだろ

81 :
>>74
見てもそんな感じ全然しないなあ
気のせいじゃね

82 :
スクリプト言語しかやったことない

83 :
皆一度はLISPを勉強するべき

84 :
>>81
いや何言ってんだよ
typedareayとかモロじゃん

85 :
は?

86 :
叩いてる奴らのレベルが低すぎる

87 :
参照渡しだろ?

88 :
>>76
Z80ならPUSH/POPが近い感じだな
戻りアドレスPUSHしてRETは一瞬わけわからんかったがw

89 :
概念は簡単
表記がクソ

90 :
ちなみにHaskellの配列はjaなどと違い仕様からすら想定はずれてるから即値ですらBoxされる
IOUArrayとか使わないと超遅い

91 :
元々C言語やっててポインタも一応理解してたけど、
Javaで値渡しと参照渡しを実体験してから
C言語戻ったらより深く理解できたわ

ポインタのポインタも、関数ポインタも結局そんな大層なものじゃなかった

92 :
そもそもプログラミングの入門とされるものがC言語なのが詰む原因だと思うぞ
だってまずもって存在意義が分からねぇもん

そこらへんのアプリやゲームやホームページなどなど眺めてみても
C言語で習うこととmp関連性を一切感じられないし、実際問題としてC言語じゃ役立たねぇしな
大工の勉強するのに物理学勉強するようなもんだろ

93 :
ハサミ取ってって言うのと、
左から3番目のやつ取ってって言うようなもんだろ

同じハサミだが、指定が違うみたいな

94 :
宣言時と利用時で記号の使い方に対称性がない、というのはKもRも反省している

95 :
>>84
配列がない言語なんてほとんどないやろ
他の言語に比べて取り立ててリニアなアドレスを要求してるようには全く見えん

96 :
ポインタはプリプロセッサが使う変数だからな
リアルなメモリ空間を指し示すとは限らない

97 :
>>76
ハンドアセンブル懐かし

98 :
こんなもんかと思いつつ先に進めばわかってくるだろ

99 :
>>95
そら他の言語も同じぐらい要求してるからな
メモリモデル書いてあるJavaですらPrimitiveはリニア
これも違うと言い出すならCすら想定されてねえ事になるっつの

100 :
>>99
まずリニアにアドレス可能なメモリってのを勘違いしてね?
リニアなメモリモデルってのは大域的な性質だよ
普通の言語では個々の配列みたいな局所的な性質しか要求されないと思うんだけど

101 :
>>1
これが何も理解出来てない事の証拠ですwww

102 :
>>100
大域的って表現はよくわからないがとりあえずそのレスは論外じゃないかな
言語仕様に入ってる時点で十分想定されてるって話であってjsの全てが全て特定のモデルに基づいてる何て話は元からしてない
もう一度言うが、仕様で実装まで想定されてないのはCでも同じ
Cの仮想的なモデルもそう動けばいいだけで実際に連続性がある必要はない
Cでもポインタのアドレス値そのものを数値化するのは不定扱い

で、その上で、じゃあ何でArrayの拡張じゃなくてTypedArrayにしてDataViewとか作ってると思ってんだよ
全部バイナリ処理で速度稼ぐためだろが

103 :
>>92
ちょっと違うんじゃない?
Cは大工になるために丸のこやカンナの使い方を学ぶ感じ
今はハウスメーカの講習受けてプラモ組み立て方を学ぶだけ
だが基本的なこと、低レベルな部分が何も分かっていないので
いわゆる大工とは言い難いし、自分でも恥ずかしくて名乗れないだろう

104 :
別に詰まないけど、馬鹿にポインタ使わせるとキチガイに刃物状態なんで
大人しくCシャープとかお子様向けのを使っとけ
クソトロいから遊び以外に使うなよ

105 :
>>102
だからそのtypedarrayもリニアなメモリと全く関係ないじゃろ

106 :
>>105
だからその指摘がもう論外だってば…

TypedArray仕様はEcma的にもWebGLの処理で使うための導入なのでパフォーマンス重視に議論の余地はない
そしてOpenGLのBuffer関連は仕様もリニア配置想定でフラグ指定がある
つまり現在主流の実装を抽象化した結果がTypedArrayの仕様

で、そう言う話してたのに言語仕様上の話しかできてないのが君

107 :
>>106
だからリニアなメモリモデルってのは大域的な性質を言うのであって、個々のオブジェクトが満たすべき性質からはでてこないだろ

108 :
>>107
意味不明すぎ
jsでリニアなメモリモデルが想定されてると認めてるなら
その時点でこっちの本筋の知識の必要性の主張は正しいよね

大域的云々は論外でそんな話はしていない
もしその意見に同意を求めてるなら
悪いけど初期の経緯までは詳しくはないのでそうともどうも言えない

109 :
>>107
もしかしてTypedArrayがArrayBufferみたいなデータ受け取るための仕様と思ってる?
操作のための仕様だからjsの実行にも直接結びついてるよ
少なくともTypedArrayの実装周りはリニア前提

110 :
char *p;
p=15;
printf("%s",*p);

111 :
>>108
君の言ってるリニアなメモリモデルの定義が普通の定義と違うから文句いってんだ
typedarrayなんてセグメント付きのメモリでもバンク切り替えがあってもCPUとGPUでアドレス空間が分離してても気にせず効率的に実装できるんだから
リニアである必要は全くないだろ

112 :
全然違った
printf("%s",p)
なら動くだろうか

113 :
>>111
本当行動がわけわからんね君
それもっと下の話だから俺の言ってるのと何にも矛盾しないよね
それリニアのプロセス空間どころかIOMMUすら個別の装置から見たらさらに上のレイヤの話でしかないわけで
適当に単語並べて煙に巻きたいだけなのかと思っちゃうよ

114 :
>>112
なんで文字列表示したいだけなのに変数名以外に色々書かなきゃなんないんだろう?
scanfもどうせ変数に格納するんだから&とかなくても動くようにしろよ

115 :
Cは配列のメモリ周りとかがバグりがち
C++のvector最高や

116 :
>>111
ああ何がしたいのかと思ったらintel単体の話してんのねこれ
俺が言ってるのは基本的にCと同様な一定の連続的メモリ空間の実装を前提にしてるって言ってるに過ぎないよ
すごく適当に言うととある言語などと違ってスタックマシンとかの実装前提ではないという意味

俺は飽くまで素の主張の補完のためにCの処理系と同様な実装を想定してるって言ってるだけだから

117 :
まじかー🙀

118 :
>>10
レジスタじゃなくてメモリやろ

レジスタ意識し出したらインラインアセンブラで書くことになるぞ😹

119 :
いや違うなこれ
GPUとか言ってるしリニアアドレスの話じゃないな
そもそもTypedArrayが扱うのはGPUのメモリ空間じゃねえし
WebGL使って送れるってだけで

120 :
>>50
最後の(float d)はあってるのか?

関数ポインタの宣言なら最後要らなくね😾

121 :
>>112
puts()でもいい
変数に格納するって文字列型の変数はないだろ

122 :
Cでポインタ使いこなしてプログラム書ける必要まではないけど、ポインタの概念分かってないと他の言語でも詰むよね
インスタンスの中身書き換えるべきところを新しいインスタンス割り当ててバグってるのたまに見る

123 :
>>112
violation で動かない🙀

124 :
Javascriptにて

const obj2 = obj1
obj1.unko = "unti"
obj2.unko = "kuso"

if(obj2.unko !== obj1.unko)

みたいなこと初めてやったときはふざけんなと思ったよね

125 :
http://justkabu.servebeer.com/hujil?332/10576963307.html

126 :
あーわかったリニアにアクセス可能の意味が二人で違ってんだ
君はアクセス効率の話をしててこっちはメモリモデルの話をして交錯してるだけじゃねーか
そりゃすれ違うわ

でも普通はリニアにアクセス可能なメモリって歪んでないアドレス空間のことをいうと思うんだが

127 :
ポインタとはアセンブラでやっている特定のメモリへの直接アクセスを抽象化したものだからな、メモリの読み書きへの理解がないとそりゃ詰むだろう
C言語はアセンブラの上位互換言語として機能するように設計された。アセンブラだと冗長なコードがCだとスッキリ書けるので当時としては革新的だったし、現在もOSや基礎ライブラリ作るのにはC系列以外に選択肢はない。
その一例として、それまで全部のコードがアセンブラだったUNIXカーネルコードを、CPU依存部分だけアセンブラ、非依存部分はCで書き直したBSD UNIXカーネル Machがある。
今はそれよりもLinuxが人気だけど、これも移植性を高めた同じ構成だ。
しかもアセンブラ直で書くよりもコンパイラの文法チェックと最適化が期待でき、メンテ性に優れているため今でも現役でOSなど基礎レベルの開発に使われている。

ポインタでのメモリアクセスは例えば
int *p;
p = 0;
*p = 0;
とやるとメモリアドレス0番地に0を書き込むというコードになる。が、0番地へのWriteメモリアクセスは通常予期されていないので予期しない動作が起きる。プログラムが落ちるとかな。

普通の変数へのポインタアクセスは例えば
int *p;
int a = 1;
p = &a; //ここでa変数のメモリ上のアドレスがpに代入される
*p = 2 // この時点でa変数の内容が2に変化する
という、メモリアドレスへのポインター機能なのでポインターと呼ばれる。ポインター変数はメモリアドレスを保持するもので、通常の変数ではないというのがミソだが通常の変数と勘違いするからポインターは難しいという誤解が生まれる。

こんなシンプルな機能を覚えられないんじゃプログラマーへの適性は無いので別の仕事探すかスクリプト言語やJavaでも勉強した方がいい。

128 :
実際は仮想アドレスつかってるんで直接書いてないって言う

129 :
>>124
両方kusoになるだけちゃうの?

130 :
>>120
ポインタではなく関数の仮宣言
だからtypedefしないとダメなんだこの手のは

typedef int (*FunctorA)(float);
typedef float (*FunctorB)(int);

FunctorA hoge(int, FunctorB);

131 :
>>126
いやIO関係入ってても歪んでてもリニアって言うよ普通に
そもそもメモリレイアウトが少しでもリニアな時点でリニア
本当にリニアでない実装はリスト構造だから

132 :
文字列を代入したあとにそいつ引っ張ってくると先頭のポインタ返してくれるってのを知らなくて悶絶してた

133 :
→◎◎←
ポインポイン

134 :
cとかc++使う仕事は単価安いからやらない

135 :
ごめんちょっと語弊あった
本当にリニアでない継続的な構造といえばリスト構造ね
というか配列も抽象操作な言語でリスト扱いもある
jsArrayはJavaのObjectArrayと似てて割と抽象操作に近い

136 :
>>134
その代わり収入は中程度で安定してる

137 :
>>131
だからセグメント化されてたりバンク切り替えがあったりCPUとGPUみたいに分離してるのがリニアにアクセス可能じゃないメモリだって言ってる
途中にIOが入ってたりはリニアかどうかに関係ないって

138 :
>>131
それは普通はランダムアクセス可能かどうかと表現するの
リニアとは別の用語

139 :
>>137
いや途中IOが入ってようが線形性があればリニアだよ…
そもそま線形性がリニアだよ…
必死に極論に誘導したいみたいだけど、お前が出してるセグメント云々の実装がそもそもリニア云々の名前ついてるよ

それとお前の言いた話には関係あるのかもしれないけど、俺の今回の話にGPU側そのものとの直接の関連は関係ない
飽くまでjsの実装がOpenGLの実装想定してるって言ってるだけだから

つかメモリの話はアクセス機構じゃなくてハード実装に基づくパフォーマンス向上目的って言ってんだろ
アクセス機構単体で言ってたら現代の環境はそもそもいくら抽象化してようがほぼ全部リニアだろが

>>138
全然ちげーしら関係ねえよそれ
そもそも実装がちげーよ
お前の想定とはメモリ構造すらちげーよ
リスト構造すら通じねえってお前何のメモリモデル想定してんだよ

140 :
>>130
ふむ。これは分かる

50のはよく分からんな
でもVCとかのヘッダーでもこんな感じのよく見たから
こういう表記だって覚えるしかないな🙀

141 :
はいはい
ランダムアクセス可能のことをリニアって言い間違えてるのは十分に分かったからもういいよ

142 :
>>141
あのね…ランダムアクセス可能って言ってる時点でもうそれ想定が完全にリニアなメモリモデルの話だからね
メモリアドレスに連続性やバンクなどの概念すらない抽象マシンを想定してみ
関数型言語とかはそういうモデルだから

143 :
>>141
アクセス機構と勘違いしてんのはポインタ操作の話かな
これは実装が連続的空間への操作になってて、間接的にそれも必要って言ってるためだから

実装が完全に離散的なら、そもそもポインタ操作やUnsafeな配列操作なんて本当に不要なわけで
例えばVertices確保するのに配列にしてるのは、それは実装側の都合でその部分のメモリモデルをリニアにする事が必須だから

144 :
つかこれもう話聞く気ないなコイツ
ランダムアクセス性とか今回の文脈にマジで関係ないじゃんよ

145 :
俺これもしかして実装のランダムアクセス性云々から
物理的等価性とか形式言語上での操作と、実装との違いとか書く羽目になるのか?
めんどくさすぎるんですけど

146 :
>>130
これだと
int (*)(float) hoge(int, float (*)(int));
じゃないのか?と思ったが

int (*hoge(int,float (*)(int)))(float);
こうなるのか
自己解決したw😹

147 :
配列もリストもリニアだろ
リストのことを線型リストともいうのはなぜなのか考えてみろよ
恥ずかしいから長文書くのやめとけ

148 :
>>68
ポインターの受け渡しという意味では一緒

149 :
>>146
うわーーー
C/C++がクソなのはこの記述なんだよな

150 :
>>147
リストは抽象のデータ構造として連続でリニアと言われてるだけで実データの配置は離散的だよ
リストの構造をマジで知らんならもう説明しようがないけど

配列云々はもう何が言いたいかすらわからんわ
元から配列のデータ構造は抽象ではランダムアクセスできるだろアホ
つか仕様の話じゃなくて実装上の配置だって言ってんだろ
そういう関係ない上に直交してる概念持ち出してきて
ドヤ顔してるからウンザリしてんだよ

151 :
つか引用全く付けなくなってる時点で完全に最後にレスした方が勝ちしたいだけの詭弁屋だなこれ

152 :
今度は連続とかいう謎な言葉を使い始めたよ
いい加減にしてくれ

メモリモデルでもデータ構造でも自然数をキーにアクセスできる状態にあるのがリニアだよ
どんな言語でも配列はリニアにアクセスできるメモリの一部を割り当てるだろ、jsだから特別なところなんてねーよ

153 :
>>152
離散の反対もリニアって言うんだよ
よかったね勉強になって

それと自然数をキーにできればリニアなら
ハッシュも木構造もリニアになるんすかねえ
いやーまさかデータ構造の基礎の基礎も知らなかったとは
ちなみに基本的にデータ構造でのリニアは線形探索って意味だから

あと最後まで一応言うけどハッシュも木構造も普通にリニアな構造じゃないし
自然数だろうと特定のキーで順次以外のアクセスしてる時点でランダムアクセスだから
どっちにも当てはまらないよ

154 :
>>152
一つ突っ込み忘れてた
jsの配列はObject実装でindex飛ばしてもいいしハッシュでもあるから普通に例外の一つだよ

155 :
一応言っておくがTypedArrayは違うぞ

あと>>139で誤解与えそうなレスあったから突っ込まれる前に

> つかメモリの話はアクセス機構じゃなくてハード実装に基づくパフォーマンス向上目的って言ってんだろ
> アクセス機構単体で言ってたら現代の環境はそもそもいくら抽象化してようがほぼ全部リニアだろが

これは向上目的ならリニアアクセスのが殆どの場合で有利って趣旨で、実装のモデルとかアクセスがほぼ全部リニアって意味ではない

156 :
> >>152
> 離散の反対もリニアって言うんだよ
> よかったね勉強になって
どこ用語だよそれソース貼って

> それと自然数をキーにできればリニアなら
> ハッシュも木構造もリニアになるんすかねえ
あたりまえじゃんイテレータはそのためにあんだよ

> いやーまさかデータ構造の基礎の基礎も知らなかったとは
> ちなみに基本的にデータ構造でのリニアは線形探索って意味だから
>
> あと最後まで一応言うけどハッシュも木構造も普通にリニアな構造じゃないし
> 自然数だろうと特定のキーで順次以外のアクセスしてる時点でランダムアクセスだから
> どっちにも当てはまらないよ
ランダムアクセス可能ていうのは計算効率を表す言葉だから配列やハッシュみたいなやつだ

なにがいいたいのかまったくわからん

157 :
自分があまりわかってないと人に話しても意味わからん

158 :
>>156
口調崩れてんぞ

リニア回路とか離散の反対の意味でリニアって普通に使うぞ
イテレータは自然数じゃないぞ
ランダムアクセス可能と言うのは順次以外でデータにキーで直接アクセス可能な事を言うんだぞ

159 :
つか言うに事欠いてイテレータって
もうそれ抽象型がシーケンシャル前提のインターフェースなんだから意味違うじゃん
自然数のキーでアクセスじゃなかったんすかねえ?

160 :
まぁ、さすがに変数ポインタくらいじゃ詰まないだろ フツー

関数ポインタや共用体なんかで頭グチャグチャになって挫折するヤツ多いと思う

161 :
>>158
リニア回路は知らん
イテレータはデータ構造にビューをとりつけてリニアな構造を与えるだろ
arrayとlistの違いはリニアじゃなくてランダムアクセス性

162 :
>>161
いやだから一般に言うイテレータは自然数によるアクセスでは全然ないんだけど
そもそもお前が失言してたのは「データ構造でも自然数でアクセスできるならリニア」と言ったことだから全く弁解になってない

メモリ配置はリニアでも自然数の添字によるアクセス方法は、全くリニアではありません

163 :
そもそもハッシュテーブルというデータ構造は一般にランダムアクセスできても
リニアアクセスは保証してませんので
そもそも実装が木とは限らないし

164 :
つかもうこんな時間かよ寝るよヤベーよ
実装側のメモリ配置がリニアって意味はわかったみたいだしもういいっしょ?
今何を難癖つけられてんのかもわけわからんよ俺

165 :
>>164
わかったよ
jsは実装時にリスト等のリニアなメモリを使ってオブジェクトを実装するべきなことを仕様から類推できるってことだろ

166 :
リニア君仮に仕事できる奴としても
仕事で関わりたくないなぁ

167 :
あれは記法がややこしいだけ

168 :
読み返しても全くわからん
結局、jsはメモリについて特に何も指定してないとしか思えないし、実装も他の言語と何か違うところがあるようにはみえん

169 :2019/05/23
大学でやらされてるけどCって糞使いにくいけどなんなのあれ
変換指定子とか馬鹿だろ

(ヽ´ん`)「そうめんは氷水にひたひたにして食べるのが一番うまい」揖保乃糸「この糞バカ野郎が!どんどん水吸ってまずくなるぞ!」 [254471822]
侍ジャパン この気色悪い単語どうにかならんの? [616817505]
環境省「もうプラゴミは自治体で燃やしちゃってください!」 !? ( ・`ω・´) [327876567]
ポケモンのロケット団のニャースが当たり前のように喋れる理由ってなんでなの? [977261419]
【急募】安倍の次の総理 [875850925]
【悲報】美人アスリートさん 一生懸命スポーツに打ち込んでる姿を、エロオヤジどもにこかれてしまう…orz [443724658]
わさびチューブ→使い切れない からしチューブ→使い切れない しょうがチューブ→使い切れない ふざけんなよ [166962459]
【洋画】金曜ロードショー「バック・トゥ・ザ・フューチャー」(1985年・米)  [757453285]
ダイソー店員、コロナが怖くてストライキ [962614482]
日本人「何勝手に消費税上げてんだ!R!」 →数秒後「んまぁー…でもしょうがないか(正気に戻る)」 何故なのか [701470346]
--------------------
ぱちスロAKB48 推しメンLv.52
【FF14】れおんヲチスレ★3
【コクチバス】スモールマウスバス総合スレッド4
ールデンごムイ
【大物さん】 ラウンジ三国志3366 【建国】
最強は寺田匠 格闘代理戦争
【プロ5冠アマ7冠】井上尚弥 249【Monster】
▼△▼ドラマ視聴率2019年10月期【20】▼△▼
【Ψ】おんな城主 直虎の視聴率を語るスレpart13
Disc Mediator 呉葉
しりとりのスレ2
【死刑廃止】全日本仏教会、死刑反対を初表明へ…「不殺生の教えと矛盾する」
安価間違えてんじゃねぇんほ part.3372
☆極悪★全国版:馬鹿飼い主リスト★非道★
【待っててくれbaby】愛すべき51歳89【お前のハートに届けるぜ!】
トリプタノール Part15
渕の曲にありそうなタイトル★習字123アクメ
【恐怖】福島2号機 格納容器 水位わずか60cm 2
【SNK】君はヒーロー part3
【高鷲】 超kooolな奥美濃を語る132本目【白鳥】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼