V2EX tyzual
首页
注册
登录
tyzual 最近的时间轴更新
tyzual
nullptr
tencent
V2EX 第 195138 号会员,加入于 2016-10-09 09:16:26 +08:00
tyzual.moe
e-tyzual
tyzual
tyzual
提问
技术话题
好玩
工作信息
交易信息
城市相关
tyzual 最近回复了
2017-04-11 16:22:40 +08:00
回复了
soratadori
创建的主题
C++
这段 c++代码啥意思?
*(unsigned int*)sample = *((unsigned int*)Buffer+i);
楼主主要是看不懂这句话吧。
按照楼主的说明 Buffer 应该是一个类似于
byte *Buffer 或者 byte Buffer[随便一个什么数字] 的东西。
等号右边先把 Buffer(强行)转成一个 unsigned int *这样的话,后面 + i 就会按照无符号整型来计算偏移量,也就是+i 会向后移动 i * sizeof(unsigned int) 个地址。(否则会向后移动 i * sizeof(byte))。
计算完成偏移量以后,再对这个地址解引用(取值),因为这个时候,地址的类型是 unsigned int *所以此时编译器会把当前地址储存的数据当成一个无符号整形来对待, unsigned int 站四个 byte ,所以编译器会从计算完成的偏移量开始向后读取四个 byte 的内容作为要赋的值。即等号右边的值。
等号左边先把 sample 强行转成了一个 unsigned int *然后在解引用(取值)。因此,解引用完成的时候,等号左边的类型是一个 unsigned int (虽然实际上不是)。因此编译器会把等号右边的值写入到 sample 起始地址到 sample 地址后四个 byte 中。
而 sample 的实际类型是 byte[4],长度正好也是四个 byte 。所以 sample[0] 的值正好就是赋值号右边那个值的最低位 byte 的值, sample[1]是第二低位 byte 的值。以此类推。
2016-10-26 08:44:44 +08:00
回复了
akiossdev
创建的主题
小米
只有我觉得小米 MIX 好看吗
小米这次真心牛逼了.
tyzual 创建的更多回复
关于
帮助文档
自助推广系统
博客
API
FAQ
Solana
2750 人在线
最高记录 6679
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 11ms
UTC 14:39
PVG 22:39
LAX 07:39
JFK 10:39
Do have faith in what you're doing.
ubao
snddm
index
pchome
yahoo
rakuten
mypaper
meadowduck
bidyahoo
youbao
zxmzxm
asda
bnvcg
cvbfg
dfscv
mmhjk
xxddc
yybgb
zznbn
ccubao
uaitu
acv
GXCV
ET
GDG
YH
FG
BCVB
FJFH
CBRE
CBC
GDG
ET54
WRWR
RWER
WREW
WRWER
RWER
SDG
EW
SF
DSFSF
fbbs
ubao
fhd
dfg
ewr
dg
df
ewwr
ewwr
et
ruyut
utut
dfg
fgd
gdfgt
etg
dfgt
dfgd
ert4
gd
fgg
wr
235
wer3
we
vsdf
sdf
gdf
ert
xcv
sdf
rwer
hfd
dfg
cvb
rwf
afb
dfh
jgh
bmn
lgh
rty
gfds
cxv
xcv
xcs
vdas
fdf
fgd
cv
sdf
tert
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
shasha9178
shasha9178
shasha9178
shasha9178
shasha9178
liflif2
liflif2
liflif2
liflif2
liflif2
liblib3
liblib3
liblib3
liblib3
liblib3
zhazha444
zhazha444
zhazha444
zhazha444
zhazha444
dende5
dende
denden
denden2
denden21
fenfen9
fenf619
fen619
fenfe9
fe619
sdf
sdf
sdf
sdf
sdf
zhazh90
zhazh0
zhaa50
zha90
zh590
zho
zhoz
zhozh
zhozho
zhozho2
lislis
lls95
lili95
lils5
liss9
sdf0ty987
sdft876
sdft9876
sdf09876
sd0t9876
sdf0ty98
sdf0976
sdf0ty986
sdf0ty96
sdf0t76
sdf0876
df0ty98
sf0t876
sd0ty76
sdy76
sdf76
sdf0t76
sdf0ty9
sdf0ty98
sdf0ty987
sdf0ty98
sdf6676
sdf876
sd876
sd876
sdf6
sdf6
sdf9876
sdf0t
sdf06
sdf0ty9776
sdf0ty9776
sdf0ty76
sdf8876
sdf0t
sd6
sdf06
s688876
sd688
sdf86