sobre la columna
Esta columna es una columna tutorial de C++ de alta calidad y se mantendrá actualizada
Esta columna utiliza constantemente el sistema operativo: macOS Ventura, el editor de código: CLion y el compilador de C++: Clang
Gracias amigos que han estado con ustedes todo el camino, gracias por su apoyo ^ _ ^
Por supuesto, C++ es un lenguaje portátil, lo que significa que los amigos que usan Linux y Windows también pueden leer este artículo para familiarizarse con C++.
Los comentarios del blogger son muy oportunos. Si encuentra problemas mientras lee, puede hacer preguntas directamente en el área de comentarios, y el blogger le dará su opinión dentro de las 24 horas posteriores a su lectura.
Tutorial de C++: cómo hacer una columna de la serie C++, parte 1
Tabla de contenido
traductor? ¿Qué es G++, Clang?
¿Cuál es la diferencia entre G++ y Clang?
Este artículo hace referencia a artículos, libros
actualizar registro
5 de agosto de 2023
Publicar el primer artículo.
prefacio
Este artículo describirá los preliminares de C++, ¿qué es un compilador? ¿Cuál elegir entre Clang y g++? ¿Qué es la portabilidad de C++? ¿Existe un estándar para C++? ¿Cuál es la extensión de C++? Es la primera vez que escribe su programa C++, comprenda qué es un encabezado de función, ¿debe haber un punto y coma? ¿Cómo escribir comentarios? ¿Sigue siendo "#"?
Sus requisitos previos de C++
Creo que todo el mundo ha oído hablar de C++ más o menos, y más o menos sabe que tiene muchos campos de aplicación.
Desde 2002, C ++ se ha desarrollado extremadamente rápido en las últimas décadas, pero su clasificación siempre ha estado entre los 5 primeros. Se puede ver que su estatus en el lenguaje de programación
Es solo que con el cambio de C/S (cliente/servidor) a B/S (navegador/servidor) y el desarrollo de teléfonos Android en los últimos años, Java siempre ha estado en la cima. Python, junto con la eficiencia de desarrollo de los rastreadores y los marcos Django en el desarrollo web, y las ardientes ventajas de la inteligencia artificial de este año también se están disparando.
Pero parece que encontramos que no existe una amenaza real para el estado de C ++
Hay un dicho popular en el mundo de la programación: C puede hacer casi cualquier cosa y C++ puede hacer casi todo bien, lo que demuestra sus poderosas funciones, y la comunidad de desarrollo de C++ también se está volviendo cada vez más sólida.
Entonces se puede ver que C ++ es un lenguaje perdurable
traductor? ¿Qué es G++, Clang?
Si está leyendo un artículo, pero este artículo no está escrito en chino, tal vez algunos estudiantes puedan entender bien el idioma extranjero, pero la mayoría de ellos lo traducirán en la herramienta de traducción.
Esencialmente, solo está escribiendo en un idioma que no entiende en el traductor, y el traductor traduce la oración al chino, así:
No entiendes muy bien lo que significa "gato", así que abres el traductor, eliges chino a inglés y el traductor te dice que significa "gato".
El sistema operativo no puede entender lo que escribe, por lo que debe compilarse en un archivo ejecutable ( .out para estudiantes de macOS y Linux , y .exe para estudiantes de Windows )
¿Cuál es la diferencia entre G++ y Clang?
Por ahora, no hay diferencia entre ellos. Es posible que hablemos sobre las diferencias entre las diferentes implementaciones de C++ más adelante, pero ahora no hay diferencia entre ellas. Este artículo elige a Clang como el compilador, y los estudiantes en macOS, Linux y Windows pueden funciona normalmente Use el mismo compilador, le sugiero que haga lo mismo que nosotros, pegue la dirección de descarga de Clang aquí e instale Xcode Command Line Tools en macOS.
¿Qué es la portabilidad?
La portabilidad de C++ se refiere a la capacidad del código para compilarse y ejecutarse en diferentes plataformas, sistemas operativos y compiladores.
¿Tal vez entiendes? ¿Sigo sin saberlo? Por ejemplo:
Suponga que escribe un programa ensamblador en una MacBook con macOS, y ahora necesita ejecutarlo en una computadora con un sistema Linux, entonces necesita...
Necesitas reescribir un programa adecuado para esta plataforma (sí, te romperá, porque necesitas aprender más cosas)
Pero si se cambia a C++, será diferente, pase el archivo de código fuente y compílelo en Linux para usarlo.
¿Existe un estándar para C++?
ISO/IEC 14882:1998 es el primer estándar general internacional de C++, seguido de C++03 (ISO/IEC 14882:2003), generalmente usando C++98, C++03 y C++ más tarde 11, C++ 17, C++20, probablemente todos entiendan lo que significa, ¿verdad?
El estándar ISO C ++ también incorpora el estándar ANSI C, porque C ++ generalmente es un superconjunto de C, lo que significa que cualquier programa C puede ejecutarse sin problemas en C ++.
nombre de extensión
Sus extensiones son generalmente .cpp (C Plus Plus) , y nuestros programas también terminarán en .cpp
tu primer C++
primero.cpp
#include <iostream>
int main(void)
{
using namespace std;
cout << "This is my first C++ program!" << endl;
cout << "Let's go!"
cout << endl;
return 0;
}
función principal
La estructura básica del código first.cpp es la siguiente:
int main(void)
{
code
return 0;
}
Estas líneas dicen: Hay una función llamada main(void) y describe el comportamiento de la función
Estos códigos (el anterior, omitido) se denominan definiciones de función, y la definición consta de un encabezado de función y un cuerpo de función, que se explicarán a su vez a continuación.
encabezado de función
int main(void)
es el encabezado de la función, donde int representa su tipo: entero (lo explicaremos en detalle más adelante, a menudo hablaremos de él después de int ), main se llama el nombre de la función, " (void) " significa que la función no acepta cualquier parámetro, también puede usar corchetes vacíos "()", que son equivalentes a ambos. En el libro "C++ Primer Plus", son corchetes vacíos. Ambos son aceptables. Agregar vacío puede ser más intuitivo, pero la mayoría de ellos son no agregado Sigue aquí A todos les gusta.
vacío principal()
¡Los amigos que leen cualquier libro de C ++, adhiriéndose al espíritu de salvar uno es uno, deben hacer una declaración solemne para todos!
Ver a muchos amigos, la función principal está escrita como void main() en lugar de int main()
Puede leer en el libro que estos dos son iguales, como "C ++ Primer Plus" dice:
Algunos programadores usan los siguientes encabezados de función y omiten la declaración de retorno:
void main()
Esto es lógicamente coherente porque un tipo de retorno nulo significa que la función no devuelve ningún valor. Esta variante funciona en muchos sistemas, pero no funcionará en algunos ya que no es una opción impuesta por el estándar actual. Por lo tanto, los lectores deben evitar este formato y utilizar en su lugar el formato estándar de C++, que no requiere mucho trabajo.
Déjame decirte aquí que la forma de escribir void main() es fundamentalmente incorrecta, completamente incorrecta
¿Ha notado el valor de retorno de la función principal ? Algunas personas pueden decir que no hay valor de retorno. Si profundiza en el código de inicio CRT del programa, encontrará...
__initenv = envp;
mainret = main(argc, argv, envp);
if ( !managedapp )
exit(mainret);
if (has_cctor == 0)
cexit();
De acuerdo con el estándar C99, incluso si la función en sí misma no define un valor de retorno, el compilador lo agregará para regresar al programa estimulante, el estado de ejecución. Y void main() nunca se ha definido en C y C++
Bjarne Stroustrup , el padre de C++, escribió claramente en las preguntas frecuentes de su página de inicio
La definición void main( ) { /* ... * / } no es y nunca ha sido C++, ni siquiera ha sido C.
Traducción: void main() nunca existió en C++ o C
En otras palabras, algunos compiladores pueden pasar void main() , pero el estándar ISO no define void main() en absoluto, y algunos compiladores no funcionarán, por lo que puede estar triste :(, estudiantes que usan C++ Todavía use int main o int main (vacío)
Amigos que han estudiado C mira aquí
Hay una forma de escribir en C:
main()
Omitir el tipo de valor devuelto en C es equivalente a devolver el tipo de valor como int , pero este uso se elimina en C++
volver 0
Puede encontrar que hay un valor de retorno al final, que le indicará al sistema operativo que no hay problema con este programa, y un valor que no sea 0 se considerará un error.
Declaraciones y punto y coma
Las sentencias son acciones a realizar. Para comprender el código fuente, el compilador necesita saber cuándo termina una instrucción y comienza otra. Algunos idiomas usan separadores de declaraciones. Por ejemplo: FORTRAN separa declaraciones por finales de línea, Pascal usa punto y coma para separar declaraciones. En Pascal, el punto y coma se puede omitir en algunos casos, como después de la declaración antes de END, en este caso, las dos declaraciones no están realmente separadas. Pero C++, como C, también usa terminadores en lugar de delimitadores. Un terminador es un punto y coma, que es el marcador de cierre de una declaración y es una parte integral de una declaración, no un marcador entre declaraciones. La conclusión es: en C++, el punto y coma no se puede omitir
Los estudiantes que han aprendido otros idiomas pueden sentirse un poco incómodos
Notas para C++
C++ usa barras inclinadas dobles "//" como comentarios, y las cosas detrás de los comentarios se eliminarán durante la precompilación, y luego explicaremos en detalle qué es la precompilación en el encabezado del archivo.
Por supuesto, también podemos usar comentarios estilo C, es decir, se comentará la información entre /* y */, los estudiantes que han aprendido CSS pueden estar muy familiarizados con él jaja
Los estudiantes que han aprendido Python recuerdan que los comentarios no son #, no, no, no
epílogo
El autor a menudo ayudará a sus amigos con problemas a resolver problemas. Si tiene alguna pregunta, puede señalarla directamente en el área de comentarios, y el autor responderá dentro de las 24 horas posteriores a verla.
Si tiene alguna pregunta sobre este artículo, indíquelo en los comentarios. Si le gusta este artículo, haga clic en Me gusta, comente y siga
Si hay personas a tu alrededor que han mencionado este campo como tú, o esperan progresar junto con él, comparte el artículo con él.
4008 palabras, 8 padres, 4 hijos, 6 nietos, 2 bisnietos
cambio rápido de página
Otros artículos de calidad de bloggers:
Hexo tutorial, solo lee este - Cómo hacer series
Cómo escribir blogs de alta calidad en CSDN - How to series
Conferencia de desarrolladores de Apple WWDC23: las ambiciones de Apple
Este artículo hace referencia a artículos, libros
artículo de referencia
¿De qué sirve aprender C++? ¿Dónde está el futuro de C++? - saber casi
https://wenku.csdn.net/answer/18a7406a5b2e4d178d90cda0b3b07288
¿Qué es un compilador? Compiladores en C explicados para principiantes
¿Por qué la portabilidad de los programas escritos en ensamblador es pobre?
¿Cómo entender mejor la portabilidad de C/C++? - saber casi
Notas de la versión de Clang 16.0.0 — documentación de Clang 16.0.0
libros de referencia