Programming/C++/Syntax: Difference between revisions
Brodriguez (talk | contribs) m (Brodriguez moved page C++ to C++/Syntax) |
Brodriguez (talk | contribs) (Add function section) |
||
| Line 174: | Line 174: | ||
== Functions == | == Functions == | ||
<return_type> <function_name>(<arg1>, <arg2>, ..., <argn>) { | |||
# Function logic here. | |||
return <return_value>; | |||
} | |||
Ex: | |||
# This is a function that returns nothing. | |||
void my_function() { | |||
# Function logic here. | |||
} | |||
# This is a function that returns an int. | |||
int my_function() { | |||
# Function logic here. | |||
... | |||
int my_return_int = 5; | |||
... | |||
return my_return_int; | |||
} | |||
# This is a function that returns nothing, but takes three parameters. | |||
void my_function(int my_int, std::string my_string, bool some_other_arg) { | |||
# Function logic here. | |||
} | |||
Revision as of 03:40, 6 March 2023
.cpp .h
Compiling C++
To run any C++ code, it must first be compiled.
To do this, in terminal, cd to the desired directory and run g++ <path_to_file> -o <name_of_file_to_create>.
This will generate a new executable file, based on the compiled code.
Run this file via ./<name_of_created_file>.
Types of Errors
- Compile Time Errors - Errors that happen during file compile.
- Syntax Errors - Errors that happen from incorrect typed syntax for the given language.
- Type Errors - Errors that happen due to mismatch of declared type and attempted type usage.
- Link Time Errors - Errors that happen when trying to combine compiled files into a single executable program.
- Ex: Using a function that was never defined, or
Main()instead of {{ ic |main()}.
- Ex: Using a function that was never defined, or
- Run Time Errors - Errors that happen during program execution.
- Ex: Divide-by-zero errors, or attempting to open a file mid-runtime and said file doesn't exist.
- Logic Errors - Soft errors that don't cause an actual crash. But can cause a program soft-lock, or general unintended behavior.
Comments
Inline Comments
// This is an inline comment.
Block Comments
/** *This is a block comment. *Comment line 2. *Another block comment line. */
Basic Input and Output
Basic Output
A very basic output example is:
#include <iostream> std::cout << "Hello World!\n";
We can also chain together strings this way:
#include <iostream> std::cout << "Hello " << "World!" << "\n";
If we exclude the \n, then output will remain on a single line:
#include <iostream> std::cout << "Hello "; std::cout << "World!"; std::cout << "\n";
The above code snippets are all functionally equivalent.
Basic Input
Similar to basic output:
#include <iostream> std::cin >> <variable_here>
For example:
#include <iostream> // This will read in a string as a variable, then immediately display it. string my_string; std::cin >> my_string; std::cout << my_string << "\n";
Variables
Variables are strongly typed in C++. That means you must declare the type as well as the name.
Variable Definition
bool a_bool = true; bool b_bool = false; string my_var_1 = "This is "; string my_var_2 = "a string.";
Variable Usage
#include <iostream> std::cout << "Printing variable values.\n"; std::cout << a_bool << "\n"; std::cout << b_bool << "\n"; std::cout << my_var_1 << my_var_2 << "\n";
Booleans
C++ uses the following bools"
bool true_bool = true; bool false_bool = false;
Null Values
C++ uses the standard null.
int null_value = null;
Import Statements
If Statements
Basic If
if (x == y) {
# Logic if true.
}
Full If
if (x == y) {
# Logic if true.
} else if (! x && (y || z)) {
# Logic for "else if" true.
} else {
# Logic for false.
}
Switch/Case Statements
switch (<conditional_statement) {
case <result_1>:
# Logic if matches <result_1>.
break;
case <result_2>:
# Logic if matches <result_2>.
break;
...
default:
# Default/fallback if no matched results.
break;
}
Note that the break statements are optional, but recommended. Removing a break statement will make the code execute into the next result section, instead of exiting the switch block.
Loops
For Loop
for (<counter_var> = <start_index>; <end_condition>; <counter_var_modifier>) {
# Loop logic here.
}
Ex:
for (int index = 0; index < 10; index++ {
# Loop logic here.
}
While Loop
while (<condition>) {
# Loop logic here.
}
Functions
<return_type> <function_name>(<arg1>, <arg2>, ..., <argn>) {
# Function logic here.
return <return_value>;
}
Ex:
# This is a function that returns nothing.
void my_function() {
# Function logic here.
}
# This is a function that returns an int.
int my_function() {
# Function logic here.
...
int my_return_int = 5;
...
return my_return_int;
}
# This is a function that returns nothing, but takes three parameters.
void my_function(int my_int, std::string my_string, bool some_other_arg) {
# Function logic here.
}