Основная концепция C ++ Primer

    c++由c语言衍生而来,最大的特点就是它是一门面向对象的语言,面向过程(c)即需要我们去按照步骤去一步一步写代码,而c++提供的面向对象机制帮助我们更有效更方便的开发。
     1.关键字:根据版本的不同关键字的个数有所不同,c中有我们熟悉的32个关键字,而在c++98这个版本中有63个关键字,很多都是和c中关键字类似,以后遇到会细说
     2.命名空间

Концепция: использование пространства имен идентификатор имени ключевого слова локализованного имя, чтобы избежать конфликтов имен или загрязнения

Хит пространства определенный образ: пространство имен N1, пространство имен может быть вложенным, и может иметь появляется такое же имя пространства имен, компилятор во время компиляции, которые будут объединены в единое пространство имен, а переменная определена в области видимости пространства имен только ограничивается этим пространством имен.

Пространство имена трех способов: Nl :: A, B :: от употребления Nl, Н.Л. с использованием пространства имен;
3. Параметров по умолчанию: параметры по умолчанию, чтобы задать значение по умолчанию для параметра в объявлении функции или определении функции, если не аргументы , передаваемые по значению по умолчанию.
Категория: параметры Все по умолчанию (каждый параметр имеет значение по умолчанию), пол параметры по умолчанию

  • Примечание: она назначается справа налево в полуавтоматических определяются параметры по умолчанию, когда в этом случае передаются аргументы льготного согласования крайних левыми параметров по умолчанию.
  • Параметры по умолчанию не могут быть определены в определениях функций и заявлений, предпочтительно в заявлении.
    4. перегруженные функции: функция , аналогичные функции определения нескольких функций , в том же объеме, его список параметров (количество параметров, типов параметров, параметр порядка) должны быть разными для того , чтобы образовать перегруженные функции.
    Здесь мы должны сказать , почему в C ++ может представлять собой функцию перегрузки в языке Си , чтобы умереть, с компилятором назвать функцию добавляется перед именем функции, C ++ имеют разные правила именования основаны на различных компиляторов, но находится в той же точке в списке параметра функции в обозначении модифицированы, конечно, в C ++ проект может также добавить «Экстерн» ключевое слово позволяет компилятору компилировать как с стилем в соответствии с их потребностями, такие как:
    #### extern "C" int Add(int x,int y);где компилятор Согласно компилировать стиль C.
    5. ссылка (&): ссылка не новое определение переменной , но дать некоторые переменные играют псевдоним, переменная относится к общему пространству памяти.
    Внесены функциональные параметры и возвращаемое значение функции
  • В качестве возвращаемого значения функции, после выхода из сферы действия функции, которые были возвращены в пространство стеки системы, и, следовательно, не может вернуться в качестве справочного пространства в стеке типа. Если возвращает ссылку типа, возвращаемое значение должно жизненным циклом неограниченной функции (то есть больше, чем функция жизненного цикла).
  • Он привел в качестве эффективности аргумента высокой доли участия эффективнее, чем пройти по стоимости, потому что нет открытого пространства, но та же самая эталонная реализация и руки на первом этаже, что почти пройти по ссылке и эффективности, но ссылки, чем указатели, чтобы использовать их более безопасными.
  • Если вы не хотите, чтобы изменить аргументы по константной ссылке модифицированной при передаче по ссылке
  • Const INT && а = 10; ссылка не многоступенчатая, называемое RValue ссылки.
    6. встроенная функция: чтобы изменить функцию , называемую рядными рядные функциями, при компиляции C ++ компилятора будет INLINE вызова функции в месте расширения, нет функции нажимных над головой встроенных функций для повышения эффективности выполнения программы.
    Таким образом , встроенные функции и макросы аналогично функции , когда функция, то почему введение встроенной функции? При использовании макро функции необходимость приведения всех переменных с в скобках, или искать выражения результаты могут отличаться от ожиданий, тем самым увеличивая риск кода, а второй находится в макро предварительной обработки должен быть заменен, очень удобная отладка, не процесс определения типа, и встраиваемая функция заменяются во время компиляции, поэтому функция макросъемки является относительно безопасной.
  • В качестве альтернативы постоянной Const определена в C ++ с помощью макросов, макро функция заменяется встроенными функциями.
  • Функция Инлайн практика пространства для времени, поэтому, когда код очень долго, или когда есть рекурсии не рекомендуется использовать встроенные функции, встроенные ключевое слово для компилятора это только предложение, когда он не подходит в качестве компилятора будет встроенная функция игнорировать рядный.
  • рядный не рекомендуется для отдельных определений и декларации есть файл рамки , когда встроенные функции.
    7.auto ключевого слово (C ++ 11)
    Авто модифицированных ключевых слов компилятор автоматически толкнул его тип.
  • автоматическая линия должна быть того же типа, определяющий множество переменных.
  • автоматический не может функционировать в качестве параметра можно определить массив
    автоматического второго Использования: для диапазона петли на основе
    int arr[]={1,2,3,4,5};
    for(auto & e : arr)
    e*=2;

рекомендация

отblog.51cto.com/14239789/2438258