- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <multiset >
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <unordered_multiset>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ cmath cbrt() Function
The C++ cmath cbrt() function computes the cube root of a number. This means it finds a value that, when multiplied by itself two more times (or raised to the power of three), gives the original number. The function works with positive numbers, negative numbers, and zero.
The function accepts various numeric types such as double, float, and long double. It's especially useful for quickly calculating the cube root of decimal numbers without needing to use more complex calculations.
Syntax
Following is the syntax for C++ cmath cbrt() function.
double cbrt(double x); or float cbrt(float x); or long double cbrt(long double x);
Parameters
x - The value whose cubic root is computed.
Return Value
The function returns the cube root of the given number.
Time Complexity
The time complexity of this function is constant, i.e.,O(1).
Example 1
In this example, the function cbrt() is used to find the cube root of a positive number.
#include <iostream>
#include <cmath>
int main() {
double number = 27.0;
double result = std::cbrt(number);
std::cout << "Cube root of " << number << " is: " << result << std::endl;
return 0;
}
Output
The output of the above code is as follows
Cube root of 27 is: 3
Example 2
In this example, the function cbrt() is used to calculate the cube root of a fraction.
#include <iostream>
#include <cmath>
int main() {
double value = 0.125;
double result = cbrt(value);
std::cout << "The cube root of " << value << " is " << result << std::endl;
return 0;
}
Output
Following is the output of the above code
The cube root of 0.125 is 0.5
Example 3
The example demonstrates how the cbrt() function effectively calculates the cube root of a very large number, highlighting its ability to manage complex calculations with large values accurately.
#include <iostream>
#include <cmath>
int main() {
double value = 1e12;
double result = cbrt(value);
std::cout << "The cube root of " << value << " is " << result << std::endl;
return 0;
}
Output
If we run the above code it will generate the following output
The cube root of 1e+12 is 10000