указатель на bool в описании функции
- Войдите на сайт для отправки комментариев
Ср, 31/05/2017 - 18:14
Читал описания функций в библиотеке, одна из них void и на вход прининимает два указателя на логические переменные и по этим указателям запишет 2 bool результата:
void Class12345::function1 ( bool & b1,bool & b2l)
А вторая вернет bool и запишет len_byrtes байтов по указателю buf:
bool Class12345::function2 ( void * buf, uint8_t len_byrtes)
Можно ли без вреда для сути дела, в описании первой функции использовать звездочку * как во второй функции, то есть :
void Class12345::function1 ( bool * b1,bool * b2l)
PS: прошу тапками не кидаться, тк я новичек.
По сути в первом случае компилятор будет контролировать тип переменной адрес которой вы передаете в функцию. Во втором - нет.
Если сравнивать 1 и 3 вариант, то в первом к переменным вы должны обращаться как к переменным (bl=true), а в третьем по этим указателям (*bl=true). В первом случае bl - переменная, в третьем - указатель или адрес. Так что говорить о одинаковости сути тут нельзя.
Вы путаетесь Есть указатели, есть ссылки https://habrahabr.ru/post/251091/
Вы путаетесь Есть указатели, есть ссылки https://habrahabr.ru/post/251091/
Я !? В первом случае ссылки, в третьем указатели. Это разное.
Самое прикольное, указатель и ссылка после компиляции - адрес переменной.
Самое прикольное, указатель и ссылка после компиляции - адрес переменной.
Я говорил ТС. Вообще-то считается, что Си это язык высокого уровня, но с другой стороны Си это язык низкого уровня, где-то как кросс-платформенный ассемблер. Так вот указатели это "облагороженный инструмент" языка низкого уровня. Ссылка это что-то похожее на define, но выполняемое самим компилятором. Когда одна переменая обзывается другим именем. И наконец символы операции [*] [&] это не две операции, а четыре совершенно различные операции.
С++ я не знаю совсем и прочитанное в https://habrahabr.ru/post/251091/ для меня новость
Обращаться внутри моей программы, а не внутри библиотеки? То есть, если объявил переменные b1, b2 как: