Используйте np.swapaxes ():
>>> x = np.array([[1,2,3]])
>>> np.swapaxes(x,0,1)
array([[1],
[2],
[3]])
В то время как C является чистым процедурным языком, C++ является языком мультипарадигмы. Это поддерживает
Кроме тех, C++ в основном сохранил совместимость с кодом C, но существуют некоторые различия. Они могут быть считаны о в Приложении D Стандарта C++, вместе с причинами и возможные зафиксированный, чтобы заставить C кодировать действительный код C++.
C++ составляет 99% за надмножество C. Это немного более строго в синтаксисе с несколькими очень мелкие различия в терминах вещей, изменяющихся.
Самое большое различие - то, что C++ предпринимает попытку того, чтобы быть объектно-ориентированным. Существует собственная поддержка классов.
В C++ существует несколько других льгот: шаблоны, потоковые операторы, передача ссылкой (немного менее сбивающий с толку, чем передача указателем)
Что Вы терпите неудачу для идущего C++? Это пропускает некоторые взломы самого низкого уровня, для которых много людей использует C. Я не помню ни одного из них бесцеремонно, но я никогда не слышал хорошего аргумента для того, чтобы обмануть компилятор в выполнение, что Вы хотите за исключением способа продвинуть эффективность что дополнительные 10%.
C++, как это - имя, подразумевает и как Вы сказали в своем вопросе, улучшении C. Это - значительное улучшение. (И я использую термин 'улучшение', чтобы относиться к функциям, не функционировать.) Вещь об улучшении, тем не менее, состоит в том, что это означает рост. C++ обычно предоставляет себя намного большим программам. Приложения, действительно. Это - высокопроизводительный язык, но это является большим.
C, с другой стороны, используется для ядра и программирования драйвера по причине. Это старо (древний?), маленький, и если Вы умны, о том, с такой скоростью, как можно добраться, не пишущий ассемблер сами. Компромисс, очевидно, является функциями. C не имеет большого количества хороших больших мягких понятий как классы и обрабатывает это по шаблону, программисты на C++ как я считают само собой разумеющимся (да, полностью виновный).
Таким образом для ответа на вопрос более непосредственно большинство моих больших, высокопроизводительных проектов записано в C++. Если я буду работать над чем-то как драйвер или встроенная система, то я буду ожидать использовать C.
Я привел бы аргумент, что Вы будете более обеспеченным использованием C++ по C в большинстве случаев. Вы не должны использовать все сложные функции C++, если Вы не хотите. Существует несколько вещей, что C++ добавляет, что действительно полезны для большинства случаев:
Лично, я чувствую, что те три вещи делают использование C++ стоящий того даже при использовании его для написания подобного C кода (иначе процедурный, не объектно-ориентированного кода).
Возможно, при выполнении некоторого взламывания ядра или разработки встроенных систем, необходимо использовать C, но иначе, я рекомендовал бы C++.
Вы используете C++, где Вы можете и C, где Вы имеете к. Вообще говоря, если Вы имеете компилятор C++ в наличии для своей платформы, нет никакой причины не использовать это. C является совершенно хорошим языком, но C++ добавляет так много дополнительное, не теряя Вас никакое питание, таким образом, это почти всегда был бы предпочтительный язык.
Если Вы никогда не использовали язык, который требует, чтобы Вы сделали ручное управление памятью, я пошел бы для C сначала.
Концентрат на основных принципах C как строки, указатели функции, и как память используется и управляется. Они все передадут при создании перехода к C++. Прежде всего остального удостоверьтесь Вы действительно grok указатели, как они касаются памяти и отношений между указателями и массивами. Я сказал бы, чтобы быть всесторонним программистом, понимающим, что эти вещи требуются.
Затем перейдите к C++ и узнайте о модели OO, шаблонах, и т.д. При попытке сделать все в C++ с самого начала может быть немного подавляющим.
Для тех из Вас с опытом с обоими, каковы существенные различия?
C является подмножеством, C++ является надмножеством. C++ включает функции для поддержки объектно-ориентированного программирования (например, "полиморфизм"), и много других функций.
Для вновь прибывшего к также, который был бы лучше для изучения?
C легче (потому что это - меньшая тема), и C++ лучше (потому что это более мощно, включает C, и по моему опыту существует больше программирования заданий в C++, чем существует в C).
Есть ли ситуации, где Вы могли бы выбрать C, но затем другие ситуации, где Вы выберете C ++?
Я выбрал бы C over C ++ в редких, редких ситуациях, где целевая платформа поддерживает C, но не C++ (т.е. на некоторых встроенных устройствах).