Вы также можете изменить параметры отображения ярлыков, например fontsize, с помощью следующей строки:
zed = [tick.label.set_fontsize(14) for tick in ax.yaxis.get_major_ticks()]
В отношении # 3 :
Библиотеки .h
должны поместить все свои имена в глобальное пространство имен, а также могут разместить их в пространстве имен std::
.
Начальная версия c
должна поместить все свои имена в пространство имен std::
, а также может разместить их в глобальном пространстве имен.
Вы должны всегда включать то, что говорит вам документация. (Реализации стандартной библиотеки C ++ часто пишутся так, чтобы функции были доступны через другие включения, но, конечно, полагаясь на это, означает, что ваш код не переносим.) Обратите внимание, что в C. нет стандартной функции getline
Но есть один в C ++:
std::getline()
определен в заголовке <string>
. Стандарт C ++ не гарантирует, что в общем случае функции C доступны в глобальном масштабе или даже являются частью стандартной библиотеки C ++. Два языка начали свое расхождение много лет назад, и поэтому идея о том, что C ++ является в некотором смысле надмножеством C-библиотек, - это миф.
Ссылка: https://en.cppreference.com/w/cpp/string/basic_string/getline
.Должно быть легко связать любую библиотеку C с C ++ в целом, а не только со стандартными заголовками.
Обратите внимание, что вам, возможно, придется пройти через man, чтобы выяснить, какую версию какого Unix был введен метод, или если это конкретное расширение, и решить для себя, приемлема ли эта историческая начальная точка для вас. Но это правда, если вы написали программу на C вместо C ++.
Заголовки псевдонимов C ++ включают большинство, но не все функциональные возможности заголовков C, но иногда вы можете найти единственный способ получить функцию - включить заголовок C напрямую. С другой стороны, вам нужно спросить себя, почему они решили не включать этот метод, обычно потому, что он устарел, опасен или нестандартен.
Таким образом, все работает так, что функции C, включая функции библиотеки C, вводятся с ключевым словом extern "C"
.
Когда вы #include заголовочные файлы C, они обычно содержат некоторый код, такой как:
/* C++ needs to know that types and declarations are C, not C++. */
#ifdef __cplusplus
# define __BEGIN_DECLS extern "C" {
# define __END_DECLS }
#else
# define __BEGIN_DECLS
# define __END_DECLS
#endif
__BEGIN_DECLS
... который представляет раздел функций интерфейса C.
Если вам нужно было включить действительно старую библиотеку C, которая этого не делала, вы можете легко добавить extern "C"
вокруг #include:
extern "C" {
#include "ancientinterface.h"
};
Вы также можете написать свои собственные методы, которые Интерфейс "C" совместим.