【c++】13.必须用指针取值的情况.md
生活随笔
收集整理的這篇文章主要介紹了
【c++】13.必须用指针取值的情况.md
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有時候我們會弄不清什么時候用指針,什么時候不用指針。我習慣性是不用指針的,因為我自己用不好指針,可能出現某些bug。但是一個合格的程序員,即使不用指針,也應該掌握使用指針的各種用法。
碰到下面這種情況的時候,必須使用指針。
上面的 obu_buffer_[]是uint8_t類型,但是通過udp的data_stream_->read(obu_buffer_, kBufferSize, 0);讀取后,obu_buffer_被賦值,他的值是連續內存的值。
obu_buffer_[2]和obu_buffer_[3]分別為1個字節,連在一起這兩個字節的內容組成了 【obuMsg長度 : 2字節】,所以此時我么使用指針的方式uint16_t* obu_length = reinterpret_cast<uint16_t*>(&obu_buffer_[2]);將兩個uint8_t類型數據的地址組合在一起并reinterpret_cast為uint16_t*,才能獲取到obuMsg長度,此時是不能分別通過obu_buffer_[2]這種方式來獲取到obuMsg長度。
總結
以上是生活随笔為你收集整理的【c++】13.必须用指针取值的情况.md的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】30.ssh不用手动输入密
- 下一篇: s3c2440移植MQTT