سلام
کد زیر رو از یه کتابخونه ای برداشتم
[code=c]
uint8_t RF24::write_payload(const void* buf, uint8_t data_len, const uint8_t writeType)
{
const uint8_t* current = reinterpret_cast<const uint8_t*>(buf);
[/code]
که تا جایی که فهمیدم طرف اومده آدرس دریافتی که تو اشاره گر buf ذخیره شده رو ، اومده نوع متغییر اشاره گر رو به کمک reinterpret_cast به صورت Char تعریف کرده، حالا سوالم اینه که چرا به صورت زیر ننوشته(چرا تو همون تابع، نوع buf رو char انتخاب نکرد و نوشته void) که دیگه هم کد کمتری مصرف میشه و هم دیگه نمیخواد آشاره گر current رو تعریف کنیم
[code=c]
uint8_t RF24::write_payload(const uint8_t* buf, uint8_t data_len, const uint8_t writeType)
{
[/code]
کد زیر رو از یه کتابخونه ای برداشتم
[code=c]
uint8_t RF24::write_payload(const void* buf, uint8_t data_len, const uint8_t writeType)
{
const uint8_t* current = reinterpret_cast<const uint8_t*>(buf);
[/code]
که تا جایی که فهمیدم طرف اومده آدرس دریافتی که تو اشاره گر buf ذخیره شده رو ، اومده نوع متغییر اشاره گر رو به کمک reinterpret_cast به صورت Char تعریف کرده، حالا سوالم اینه که چرا به صورت زیر ننوشته(چرا تو همون تابع، نوع buf رو char انتخاب نکرد و نوشته void) که دیگه هم کد کمتری مصرف میشه و هم دیگه نمیخواد آشاره گر current رو تعریف کنیم
[code=c]
uint8_t RF24::write_payload(const uint8_t* buf, uint8_t data_len, const uint8_t writeType)
{
[/code]
دیدگاه