Bird
Raised Fist0
C++programming~5 mins

Constants and literals in C++ - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Constants and literals
O(1)
Understanding Time Complexity

When we use constants and literals in code, it's important to know how they affect the program's speed.

We want to see how the time to run the code changes as the input size grows.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


int main() {
    const int x = 5;
    int y = 10;
    int z = x + y;
    return z;
}
    

This code uses constants and literals to do a simple addition and return the result.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: A single addition operation using constants and variables.
  • How many times: Exactly once, no loops or repeated steps.
How Execution Grows With Input

Explain the growth pattern intuitively.

Input Size (n)Approx. Operations
101
1001
10001

Pattern observation: The number of operations stays the same no matter how big the input is.

Final Time Complexity

Time Complexity: O(1)

This means the program takes the same amount of time no matter how big the input is.

Common Mistake

[X] Wrong: "Using constants or literals makes the program slower because they add extra steps."

[OK] Correct: Constants and literals are simple values that the computer handles instantly, so they don't slow down the program.

Interview Connect

Understanding that constants and literals do not affect time complexity helps you focus on the parts of code that really matter for performance.

Self-Check

"What if we replaced the constant with a loop that repeats the addition multiple times? How would the time complexity change?"

Practice

(1/5)
1. Which of the following best describes a constant in C++?
easy
A. A fixed value that cannot be changed after initialization
B. A variable that can change its value anytime
C. A function that returns a fixed value
D. A pointer to a variable

Solution

  1. Step 1: Understand the meaning of constant

    A constant in C++ is a value that once set cannot be changed during program execution.
  2. Step 2: Compare options with definition

    A fixed value that cannot be changed after initialization matches this definition exactly, while others describe variables or functions.
  3. Final Answer:

    A fixed value that cannot be changed after initialization -> Option A
  4. Quick Check:

    Constant = fixed value [OK]
Hint: Constants never change value after being set [OK]
Common Mistakes:
  • Confusing constants with variables
  • Thinking constants are functions
  • Assuming pointers are constants
2. Which of the following is the correct way to declare a constant integer named MAX_SIZE with value 100 in C++?
easy
A. int MAX_SIZE = 100;
B. constant int MAX_SIZE = 100;
C. int const MAX_SIZE;
D. const int MAX_SIZE = 100;

Solution

  1. Step 1: Recall syntax for constant declaration

    In C++, the keyword const before the type declares a constant.
  2. Step 2: Check each option

    const int MAX_SIZE = 100; uses const int MAX_SIZE = 100; which is correct. int MAX_SIZE = 100; misses const, C is incomplete without initialization, D uses invalid keyword.
  3. Final Answer:

    const int MAX_SIZE = 100; -> Option D
  4. Quick Check:

    Use const before type for constants [OK]
Hint: Use 'const' keyword before type to declare constants [OK]
Common Mistakes:
  • Omitting 'const' keyword
  • Using 'constant' instead of 'const'
  • Not initializing the constant
3. What is the output of the following C++ code?
const int x = 5;
int y = 10;
std::cout << x + y << std::endl;
medium
A. Runtime error
B. 15
C. Syntax error
D. 510

Solution

  1. Step 1: Understand the code variables

    Variable x is a constant with value 5, y is 10.
  2. Step 2: Calculate the expression output

    The expression x + y equals 5 + 10 = 15, which is printed.
  3. Final Answer:

    15 -> Option B
  4. Quick Check:

    5 + 10 = 15 [OK]
Hint: Add constant and variable values normally [OK]
Common Mistakes:
  • Thinking constants cause errors
  • Concatenating numbers as strings
  • Expecting runtime errors
4. Identify the error in the following C++ code:
const int a = 10;
a = 20;
std::cout << a << std::endl;
medium
A. Incorrect use of std::cout
B. Missing semicolon after declaration
C. Cannot assign a new value to a constant variable
D. Variable 'a' not declared

Solution

  1. Step 1: Analyze constant assignment

    The variable a is declared as constant with value 10.
  2. Step 2: Check reassignment

    Trying to assign 20 to a is illegal because constants cannot change value.
  3. Final Answer:

    Cannot assign a new value to a constant variable -> Option C
  4. Quick Check:

    Constants cannot be reassigned [OK]
Hint: Constants cannot be changed after initialization [OK]
Common Mistakes:
  • Trying to reassign constants
  • Ignoring compiler error messages
  • Confusing constants with variables
5. You want to define a constant literal for the value of pi (3.14159) that cannot be changed and can be used throughout your program. Which of the following is the best way to do this in C++?
hard
A. const double pi = 3.14159;
B. #define pi 3.14159
C. float pi = 3.14159;
D. double const pi;

Solution

  1. Step 1: Understand constant literal requirements

    The value should be fixed, unchangeable, and precise (double is better than float).
  2. Step 2: Evaluate options

    const double pi = 3.14159; declares a constant double with initialization, which is best practice. float pi = 3.14159; is not constant, C uses macro which is less safe, D misses initialization.
  3. Final Answer:

    const double pi = 3.14159; -> Option A
  4. Quick Check:

    Use 'const double' with initialization for constants [OK]
Hint: Use 'const double' with value for precise constants [OK]
Common Mistakes:
  • Using non-const variables for constants
  • Using #define instead of const
  • Not initializing constants
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard