Сильная ошибка ввода данных

Я думаю, что хорошо использовать оба варианта с самого начала. Boost предоставляет множество мощных функций, широко используется и имеет хорошую репутацию. Большинство вещей, которые он предоставляет, имеют те же общие концепции программирования, с которыми был разработан STL, поэтому в этом смысле это не должно быть очень запутанным.

Лучший способ научиться чему-либо - это использовать отличный код, а затем посмотреть, как он написан. Это хорошо сработало для меня с Boost. Прочитайте учебник по шаблонам, и вы будете вдохновлены новой силой, которую вы открыли в течение часа. Затем прочитайте заголовок Boost, который вы использовали некоторое время, и вы будете вдохновлены в течение нескольких недель.

Конечно, не ожидайте немедленного понимания этих внутренних функций - сначала я просто использовал библиотеки, не понимая, как вы построите что-либо из этого, и это нормально. Но в какой-то момент вы понимаете, что хотите написать что-то с похожим дизайном, и тогда вы начнете искать.

Если вы сделаете обратное и ограничитесь «C ++ как более безопасный C», то вы не будете подвержены всем этим мощным вещам, поэтому у вас не будет соблазна посмотреть и понять их, и поэтому вы будете писать довольно примитивный код и учиться медленнее.

РЕДАКТИРОВАТЬ: забыл, что у меня была другая мысль - взглянуть на предстоящий стандарт C ++ 0x тоже. Он включает в себя множество функций, которые возникли в Boost. То есть студенты, начинающие изучать C ++ через несколько лет, будут работать с этими концепциями с самого начала - вы могли бы сделать это и сегодня ...

6
задан Flavius 5 July 2013 в 09:00
поделиться

3 ответа

В php нет подсказки типа для логических параметров (пока). Вы можете указать только имя класса или массив . Поэтому функция foo (bool $ b) означает: «параметр $ b должен быть экземпляром класса 'bool' или null».

http://docs.php.net/language. oop5.typehinting :

Теперь функции могут заставлять параметры быть объектами (путем указания имени класса в прототипе функции) или массивами (начиная с PHP 5.1).
10
ответ дан 8 December 2019 в 12:21
поделиться

Как уже говорилось, работает только подсказка типа для массивов и объекта. Ваша функция может быть записана так:

public function nullify($force=FALSE){
  $force=(bool)$force;
  //further stuff
}
5
ответ дан 8 December 2019 в 12:21
поделиться

Подсказка типа PHP 5 ограничена определенным классом (или одним из его подклассов) или массивом. Вы не можете указать какие-либо другие скалярные типы.

3
ответ дан 8 December 2019 в 12:21
поделиться
Другие вопросы по тегам:

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