В чем разница между int * a = nullptr; и int * a = nullptr? [Дубликат]

<?php $string = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.";
if (strlen($string) > 25) {
$trimstring = substr($string, 0, 25). ' <a href="#">readmore...</a>';
} else {
$trimstring = $string;
}
echo $trimstring;
//Output : Lorem Ipsum is simply dum [readmore...][1]
?>
0
задан Filippo Scaramuzza 2 March 2019 в 11:32
поделиться

2 ответа

Нет разницы. И * всегда относится только к a.

Пример:

int *a= nullptr, b=12;   // a is a pointer, b is a plain int
int* a= nullptr, b=12;   // still a is a pointer and b an int, 
                         // despite misleading impression conveyed
0
ответ дан Christophe 2 March 2019 в 11:32
поделиться

В большинстве случаев в C ++ пробелы игнорируются, и это один из них. Вы можете написать это как int*a=nullptr;, int *a=nullptr;, int* a=nullptr;, int * a=nullptr; или как угодно, все это означает то же самое для компилятора. Большинство из них в предпочтениях людей сводятся к руководству по стилю, как правило, или другим формам обоснования, которые наиболее читабельны в их собственной кодовой базе.

Как уже отмечали другие, это может быть связано с неправильным пониманием того, как типы определяются в объявлениях, что во многих случаях может действительно вводить в заблуждение. Я предлагаю вам изучить, как их читать (такие вещи, как правило спирали - это хорошее место для начала, даже если оно не является точным на 100%), поскольку это поможет устранить большую часть путаницы.

0
ответ дан Lemon Drop 2 March 2019 в 11:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: