PrevUpHomeNext

c++ is a beautiful, elegant, object-oriented programming language


> Start
> c++ is beautiful
> c++ is elegant
> c++ is object-oriented
> c++ is generic
> c++ is general-purpose
> Back: Home

c++ is a beautiful, elegant, object-oriented, generic, and general-purpose programming language.

c++ is beautiful

c++ code is beautiful, writing c++ is enjoyment.

#include <algorithm>
#include <vector>
#include <stdfloat>
#include <array>
#include <bit>
#include <map>
#include <deque>
#include <iostream>

int main()
{
	std::vector<int> values{97, 98, 99, 100, 101};
	while (values.size() != 26u)
		values.push_back(values[values.size()-1]+1);
	std::string v2;
	std::copy(values.begin(), values.end(), std::back_inserter(v2));
	std::array<std::float32_t, 1024> pool;
	std::transform(
		v2.begin(),
		v2.end(),
		pool.begin(),
		[&] (auto x)
		{
			return static_cast<decltype(pool)::value_type>(x);
		}
	);
	std::deque<std::float32_t> trans(pool.size());
	std::ranges::copy(pool, trans.begin());
	while (trans.size() != v2.size())
		trans.pop_back();
	contract_assert(trans.size() == v2.size());
	std::wstring v3;
	std::transform(
		trans.begin(),
		trans.end(),
		std::back_inserter(v3),
		[&] (auto x)
		{
			return static_cast<decltype(v3)::value_type>(x);
		}
	);
	std::wcout << v3 << std::endl;	// abcdefghijklmnopqrstuvwxyz
}

c++ is elegant

c++ code is elegant.

#include <meta>
#include <iostream>
#include <vector>
#include <map>

namespace dg
{
	enum class number
	{
		zero,
		one,
		two,
		three,
		four,
		five
	};
}

int main()
{
	constexpr auto numbers = std::define_static_array(
		std::meta::enumerators_of(
			^^dg::number
		)
	);
	std::map<int, std::string> map;
	template for (constexpr const std::meta::info & meta: auto(numbers))
	{
		constexpr int x = static_cast<int>([:meta:]);
		map[x] = std::meta::identifier_of(meta);
	}
	for (auto [x, str]: map)
		std::cout << x << " " << str << std::endl;
}

// output:
/*
0 zero
1 one
2 two
3 three
4 four
5 five
*/

c++ is object-oriented

c++ is an object-oriented programming language.

#include <iostream>
#include <memory>

namespace dg
{
	class shootable
	{
	public:
		virtual ~shootable() = default;
	public:
		virtual void shoot() = 0;
	public:
		virtual int get_value() const = 0;
	};
	class gatling:
		virtual public dg::shootable
	{
	private:
		int __bullets;
	public:
		gatling(int bullets__ = 10000000):
			__bullets{bullets__}
		{
		}
		void shoot() override
		{
			if (__bullets <= 0)
				return;
			if (__bullets >= 500)
				__bullets -= 500;
			else
				__bullets = 0;
		}
	public:
		int get_value() const override
		{
			return __bullets;
		}
	};
}

int main()
{
	std::shared_ptr<dg::shootable> gatling = std::make_shared<dg::gatling>();
	while (gatling->get_value() > 0)
	{
		gatling->shoot();
		std::cout << "Bullets: " << gatling->get_value() << std::endl;
	}
}

c++ is generic

c++ is generic.

namespace dg
{
	template <typename any_type>
	class generic
	{
	};

	template <std::integral any_type>
	using integral_generic = dg::generic<any_type>;

	template <std::floating_point any_type>
	using floating_generic = dg::generic<any_type>;
}

c++ is general-purpose

c++ is a general-purpose programming language. c++ is excellent for high-level and low-level programming, for cross-platforms, for variety of domains, many different programming paradigms.

//////////////////////////////////////////////////////////////////////

Home

//////////////////////////////////////////////////////////////////////

Sat Jul 11 02:18:57 AM UTC 2026

//////////////////////////////////////////////////////////////////////

Helpful

Spaceship 50 Years Alienated

Role

+

Github:
https://github.com/cppfx/cpphtgt

+

Powered by:
B2 Build | boost quickbook

+

Donate

+

@cppfx.xyz


















PrevUpHomeNext