C++98stlbeginner
std::logical_not
C++98 · The Foundation · Compiler flag: -std=c++98
Explanation
Performs logical NOT on a value.
Real-World Scenario
Invert a condition in a control system.
Quick Snippet
snippet.cpp
std::logical_not<bool> not_op; not_op(true);Full Example
logical_not.cpp
// CodeNebula - C++98 Example: std::logical_not
// Compile: g++ -std=c++98 -Wall -Wextra -o example logical_not.cpp
#include <iostream>
#include <functional>
#include <algorithm>
int main() {
bool arr[] = {true, false, true, false, true};
bool result[5];
// Negate each boolean value
std::transform(arr, arr + 5, result, std::logical_not<bool>());
std::cout << "Original: ";
for (int i = 0; i < 5; ++i) std::cout << arr[i] << " ";
std::cout << std::endl;
std::cout << "Negated: ";
for (int i = 0; i < 5; ++i) std::cout << result[i] << " ";
std::cout << std::endl;
// Count false values by counting logical_not == true
int false_count = std::count_if(arr, arr + 5, std::logical_not<bool>());
std::cout << "False count: " << false_count << std::endl;
// Count true values using not1(logical_not)
int true_count = std::count_if(arr, arr + 5,
std::not1(std::logical_not<bool>()));
std::cout << "True count: " << true_count << std::endl;
return 0;
}
// Expected output:
// Original: 1 0 1 0 1
// Negated: 0 1 0 1 0
// False count: 2
// True count: 3
Run command
g++ -std=c++98 -Wall -Wextra -o example logical_not.cpp