new 演算子で確保した複数の変数を1つの delete 演算子とコンマでまとめて解放できない

試した環境

本題

以下のコードのように new 演算子で確保した複数の変数を1つの delete 演算子コンマ演算子でまとめて解放することは出来ません。

#include <iostream>

int main(int argc, char* argv[]) {
    int* a = new int[100];
    int* b = new int[100];
    for (int i = 0; i < 100; ++i) {
        a[i] = b[i] = i;
    }
    delete[] a, b;

    for (int i = 0; i < 100; ++i) {
        //std::cout << "a[i] = " << a[i] << "\n"; // access violation
        std::cout << "b[i] = " << b[i] << "\n";
    }

    return 0;
}

それぞれの変数に delete 演算子を使わないといけません。

    delete[] a;
    delete[] b;

上記の例では配列の new, delete 演算子で示しましたが、 配列でない new, delete 演算子でも同じです。

int main(int argc, char* argv[]) {
    int* c = new int;
    int* d = new int;

    //delete c, d; // NG

    delete c;
    delete d;

    return 0;
}

うっかりやってしまいそうなミスです。