constexpr basic_vec& operator--() noexcept; // (1)
constexpr basic_vec operator--(int) noexcept; // (2)
概要
各要素をデクリメントする。
- (1) : 前置デクリメント。各要素を1減らす。
- (2) : 後置デクリメント。各要素を1減らす。
テンプレートパラメータ制約
- (1) :
value_typeの値aに対して式--aが有効であること - (2) :
value_typeの値aに対して式a--が有効であること
効果
全ての要素を1減らす。
戻り値
- (1) :
*this - (2) : デクリメントする前の
*thisのコピー
例外
投げない
例
#include <simd>
#include <print>
namespace simd = std::simd;
int main()
{
simd::vec<int, 4> a = [](int i) { return i; }; // {0, 1, 2, 3}
// 各要素をデクリメントする
--a; // {-1, 0, 1, 2}
for (int i = 0; i < a.size(); ++i) {
std::print("{} ", a[i]);
}
std::println("");
}
出力
-1 0 1 2
バージョン
言語
- C++26
処理系
- Clang: 22 ❌
- GCC: 16.1 ❌
- Visual C++: 2026 Update 2 ❌