cdecl предлагает интерфейс командной строки так, давайте дадим ему попытку:
cdecl> explain int ***c[][]
declare c as array of array of pointer to pointer to pointer to int
другой пример
explain int (*IMP)(ID,SEL)
declare IMP as pointer to function (ID, SEL) returning int
Однако существует целая глава об этом в книге "C Непостижимые тайны", названный "Восстанавливание объявлений в C.
Операторы +
и &
не идентичны в VB.NET.
Использование оператора &
указывает на ваше намерение объединить строки, а оператор +
указывает на ваше намерение складывать числа . Использование оператора &
преобразует обе стороны операции в строки. Если у вас смешанные типы (одна сторона выражения - строка, другая - число), результат будет определяться использованием оператора.
1 + "2" = 3 'This will cause a compiler error if Option Strict is on'
1 & "2" = "12"
1 & 2 = "12"
"text" + 2 'Throws an InvalidCastException since "text" cannot be converted to a Double'
Итак,
Подумайте, не лучше ли использовать String.Format при объединении строк. Обычно таким образом код становится более понятным.
Кроме того, если вы объединяете много раз, подумайте об использовании StringBuilder, а не String.
В общем случае & всегда объединяет строки независимо от типов аргументов, а + не буду. Поскольку в противном случае нет недостатков в использовании & over +, в ситуациях, когда вы явно хотите конкатенации строк, это предпочтительнее. Это также немного проясняет смысл кода.
Они идентичны в VB.NET при работе с двумя строками. Оператор «&» используется для обратной совместимости в VB 6 и ранее, где & был оператором конкатенации строк, а + не работал для текста.
Существует разница, если один из ваших двух операндов не является строкой, как указал Бдукс . Однако в этой ситуации я настоятельно рекомендую использовать String.Format или StringBuilder (в зависимости от количества / типов операций) для построения результирующей строки из смешанных типов.
В целом, я бы рекомендовал использовать + по единственной причине . Если вы когда-нибудь решите перевести код на другой язык (например, C #), оператор + будет больше соответствовать переведенной версии. Вероятно, людям, пришедшим с другого языка, будет легче понять ваш код и следовать ему.
Рекомендуемый метод - амперсанд. Оператор «плюс» иногда работает для конкатенации строк, но не считается правильным и иногда приводит к непредвиденным результатам.