Почему существуют две разные функции getline () (если они действительно есть)?

Каждый MAC-адрес в мире должен быть уникальным, не присваивайте хосту MAC своей сетевой плате VM.

тайм-аут соединения А действительно предлагает проблему с брандмауэром. Однако обычно Вы ожидали бы, что VM имеет те же возможности как Ваша хост-система. То, что на самом деле делает интерфейс NAT, заменить IP-адресом VM (обычно 10.0.2.15) с IP Вашего хоста в сетевых пакетах, которые отосланы. Для внешнего мира кажется, что Ваш сетевой трафик VM происходит из Вашей хост-системы.

24
задан paxdiablo 2 February 2011 в 08:48
поделиться

2 ответа

Имейте в виду, что Стандартная библиотека состоит из 3 (основных) частей: IOStream, String и STL, а также некоторые добавленные в лакомствах и C-заголовки.

Я не вижу ничего странного в том, что эти части слабо связаны (хотя хотелось бы, чтобы это было не так).

К другим несоответствиям относятся: std::string::length и std::string::size, причем последний был добавлен для совместимости интерфейса с STL, а первый был сохранен для совместимости со старым кодом.

10
ответ дан 28 November 2019 в 23:30
поделиться

Это общая проблема дизайна интерфейса. cin.getline() - это естественный способ сделать запрос, но чтобы избежать зависимости потокового кода от <string>, функция cin.getline(std::string&) не может быть предложена. Отдельно стоящий getline(cin, s) может быть добавлен позже, как только строки будут введены в область видимости. Не проблема для char*, так как нет ничего для #include - все равно часть языка.

В некотором смысле, приятно, когда языки позволяют более позднему коду добавлять дополнительные функции к существующим классам (например, Ruby), но в других случаях делокализация кусается и, в общем, ставит под угрозу ремонтопригодность. Тогда, конечно, есть популярный аргумент в пользу минимальных функций-членов и большого количества автономных функций: лично я считаю, что не следует делать все возможное, чтобы сделать интерфейс менее интуитивным и выразительным, а каждый - своим.

7
ответ дан 28 November 2019 в 23:30
поделиться
Другие вопросы по тегам:

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