1.C ++ extensiones a la C de

En ausencia de cómo revisar el contenido de C ++, la entrevista de hoy fue preguntado mucho, cómo no podía respuesta fue, por lo que tengo que poner esa parte del proceso de comunicación, revisemos lo que C ++.

 

C ++ bajo 1.Linux medio ambiente.

  El programa de la primera C ++

#include <stdio.h> 
#include <iostream> int main () 
{ 
    printf ( " hola mundo \ n " ); // C语言写法 
    std :: cabo << " hola " << " mundo " << std :: endl; // C ++写法retorno 0 ; 
}


     

  En C ++ programas compilados bajo el comando del sistema Linux: g ++ -o hola hello.cpp

  (1) sufijo C ++: archivos .cpp .cxx .cc .hpp .h

  Archivos (2) C ++ de cabecera: archivo de cabecera estándar de C ++ no es .h, como iostream.

    1. Si desea utilizar C ++ para el lenguaje C función de biblioteca estándar, cuando se añade debe .h archivo se elimina la cabecera, y C se añade delante, como stdio.h ------> cstdio

    2. También se puede especificar el archivo de cabecera lenguaje C cuando se añade

extern “C” {#include <add.h>}

  (3) cin en los programas en C ++, cout, cerr, estorbo objeto se crea automáticamente (similar al C archivos de idioma stdin, stdout, stderr), el usuario ya no puede crear nuevo objeto istream ostream u objetos.

std :: cin >> variables tales como: int A; Doble B; std :: cin >> A >> B; 
std :: COUT << variable de / constante ejemplo: int A = 12 es ; Doble B = 10,1 ; std :: tribunal << un << "" << b << std :: endl;

 

2.C ++ extensiones a la C de

Asignar espacio de montón

  (1) aplicación y liberación malloc --- espacio libre en el lenguaje C en un espacio propio de aplicación del usuario y la liberación

  Aplicación y liberar nuevo (2) Espacio ----- de eliminación en C ++

formato de aplicación: 
Tipo de datos   * P =   nuevos nuevo   tipos de datos 
tales como: 
Char * P = nuevo nuevo  Char   aplican un espacio de objetos char (1 byte) en el espacio de montón
 Char * P = nuevo nuevo  Char ( 'A') y para aplicar un espacio byte inicialización con un   Char * P = ( Char *) el malloc ( 1. )
 Char * P = nuevo nuevo  Char [ 100 ] en el espacio de aplicación montón objetos 100 Char - array 

formato de salida: 
puntero Delete; 
por ejemplo: 
P Delete; // sólo se aplican un objeto de Char 
delete [] P; // espacio libre contiguo (espacio objeto 100 de liberación)

    nuevo y borrar con el lenguaje C malloc y libre de las similitudes y diferencias en C ++

  (1) se puede aplicar para espacio de almacenamiento dinámico, el espacio es continuo.

  (2) nuevo constructor es equivalente a malloc +

  (3) destructor de eliminación corresponde libre +

 

Los espacios de nombres

  Papel: Evita funciones, variables, tipos de conflictos, para desarrollar cruz cuando el conflicto se puede evitar.

espacio de nombres de espacio de nombre { 
   miembros (funciones no principales, variables, constantes, estructura, etc.) 
};

 

espacio de nombres class01 
{ 
   cadena de gato;
   cadena se levantó; 
}; 
espacio de nombres class02 
{ 
   cadena de gato;
   cadena se levantó; 
}; 

int main () 
{ 
   class01 :: jack = “classs01Jack”; 
   class02 :: jack = “class02Jakc”; 
}

  Miembros uso del espacio

    1. Los miembros directos a usar el espacio ::

class01 :: jack = “classs01Jack”;

    2. utilizando el indicador de guía

el uso de  espacio de nombres class01;   // el miembro class01 espacio Todos los expuestos en la zona global
 // Cadena Jack = ""; 
int main () 
{ 
   Jack = "classs01Jack";   // Jack el interior perteneciente class01 
   class02 :: jack = "class02Jakc "; // perteneciente class02 dentro Jack 
}

    3. Use los que utilizan los miembros de los estados

el uso de class01 :: jack;   // el espacio class01 jack similar para crear una copia de la toma de la posición actual de cadena se define en el archivo actual; 
int main () 
{ 
   jack = "classs01Jack";   // class01 perteneciente dentro jack 
   class02 :: = Jack "class02Jakc"; // perteneciente class02 dentro Jack 
}

  Los espacios de nombres

    1. espacio de nombres anidados

 espacio de nombres de la AAA
   {
       namespace la acreditación
       {
           Cadena nombre;
       }
  }
   // espacio anidado 
  // Para nombrar 
  // la AAA :: :: nombrar la acreditación

  2. el mismo espacio de nombres del mismo espacio de nombres pertenecen al mismo espacio de nombres, en la misma zona

// mismo nombre de espacio de nombres - pertenece (la misma zona) con un espacio de 
espacio de nombres de la CCC 
{ 
    int Número = 123 ; 
}; 

espacio de nombres de la CCC 
{ 
    int datos = 321 ;; 
}

  3. Los miembros de Anonymous cuando el espacio espacio espacio a utilizar debe ser añadido al nombre, con la excepción del espacio anónimo, miembros del espacio anónimo en el documento actual se pueden utilizar directamente (sólo en el archivo actual)

 espacio de nombres {
       int myage; 
  }

cita

    La aplicación es la variable o alias constante.

int a = 10 ;
 int * p = & a;

    Definiciones: Tipo de datos = & variable de referencia

       = Const referencia al tipo de datos y variables / constantes

int a = 10 ;
 int & B = a; B es una referencia a una

    características de referencia:

1 Las referencias no ocupan espacio en la memoria, y los objetos espacio común que se hace referencia
2 Referencias deben coincidir con el tipo de datos del objeto referenciado
3 Cuando se hace referencia a la definición debe ser inicializado
4 Una referencia sólo puede referirse a un objeto, un objeto puede hacer referencia a varias veces, de referencia puede ser referenciado de nuevo
5 Si la referencia de objeto es constante, entonces la referencia debe ser modificado por const

   Se citó como argumento

      Función parámetro de modo que pasa: 1 por valor 2. Dirección referencias de paso 3. pase

void swap ( int & a, int y b) 
{ 
  int t = a; 
  un = b; 
  b = t; 
} 
Int a = 123 , B = 456 ; swap (a, b);

    modificación referencia const

const  int a = 100 ;
const  int & b = a;
const  int & c = 123 ;
const modificado variable global   const  int size = 100 ; // almacenado en el segmento de datos de sólo lectura 
const modificado variables locales   const  int psize = 200 es ; // datos se almacenan en el espacio de pila 
int * p = ( int *) y psize;   // puntos P espacio psize es una copia del símbolo, * p puede ser modificado, pero no modificar en sí psize 
* P = 20 es ; 
COUT << * P << "" << endl << psize; ==> 20 es , 200 es ;

  C ++ se utiliza generalmente en lugar de los macros constante const modificados

#define tamaño 100 ==> const int size = 100;

  1. const modificado constante cuando está en uso comprueba el tipo de datos, la macro no está definido (reemplazo directo)

  2. const modificado espacio constante una vez asignados solamente cuando está en uso, varias macros asignadas espacio

  3. Los datos modificado const serán optimizados

  parámetro de función se utiliza cuando se hace referencia a las modificaciones --- const permite al compilador para señalar el error, por lo que se cambia el valor del objeto referenciado dentro de la función si no, entonces hay que añadir la modificación de parámetros de referencia const.

int add ( const  int & a, const   int y b)   
{ 
// a ++; 
volver a + b; 
}

la sobrecarga de funciones

  Definición: nombre de la función de los mismos lista de parámetros de función diferentes tablas, esta serie de función se llama sobrecarga de funciones, sobrecarga de funciones puede resolver el problema del mismo nombre.

 

int add ( const  int & a, const  int & b) { volver a + b;}
 doble add ( const  doble & a, const  doble y b) { volver a + b;}

 

    Sobrecarga de funciones - una llamada de función

    --- sobrecarga de funciones en tiempo de compilación coincidirá con la función correspondiente de acuerdo con el argumento de la función

    cadena estática --- ed en tiempo de compilación se ha determinado como una llamada de función (estática ed cadena polimorfismo)

  ¿Por qué se puede lograr el C ++ sobrecarga de funciones --- compilador al compilar la función detecta el nombre de la función, y la lista de parámetros,

  compilador de lenguaje C en función de tiempo de compilación sólo detecta los nombres de función, no serán detectados parámetros de la función

 

  función de base sobrecarga: 1, el mismo nombre de la función, 2, lista de parámetros diferentes,   el Add (int, double), 3.const modificado puede ser utilizado como un puntero o referencia de función de base sobrecarga

 

parámetros por defecto la función - argumentos de la función por defecto

#include <iostream>
 extern  " C " 
{ 
#include <sys / types.h> 
#include   <sys / stat.h> 
#include <fcntl.h> 
} 
usando  espacio de nombres std;
int open_lcd ( const  char * filename = " / dev / fb0 " , int flag = O_RDWR) 
{} 
int principal ( void ) 
{ 
    int fd = open_lcd ( " / dev / fb0 " , O_RDWR); 
    fd = open_lcd ( " / dev / fb0 "); 
    fd = open_lcd ();
    volver  0 ; 
}

  Reglas predeterminadas de parámetros: la columna de parámetros debe continuamente de derecha a izquierda por defecto

    int espectáculo (int a = 2, int b = 1, int c = 0);

    int espectáculo (int a, int b, int c = 1)

    int espectáculo (int a, int b, int c)

 

 

PD: Hay lugares donde incorrecto, por favor corríjanme, aprenden unos de otros.

Supongo que te gusta

Origin www.cnblogs.com/smallqizhang/p/12459186.html
Recomendado
Clasificación