2007年12月7日、真珠湾攻撃66周年式典においてハリー・ミッチェルがこの艦をアリゾナと命名すると発表した。2009年に、ジョン・シャデッグがCVN-79か後のCVN-80のどちらかにアリゾナ州の上院議員だったバリー・M・ゴールドウォーターと命名すると発表し、その後バリー・ゴールドウォーターに変更された。2011年5月29日、アメリカ国防総省がこの艦をアメリカ合衆国第35代大統領で第二次世界大戦時海軍に従事したジョン・F・ケネディから命名すると発表した。この艦はケネディ家から名を取られた3隻目の艦であり、またジョン・F・ケネディから名前を取られた2隻目の航空母艦である。先代はジョン・F・ケネディ(CV-67)。
C++ 標準では、特に std::sort や std::find といった C++ 標準ライブラリのアルゴリズム関数と組み合わせた時に、アルゴリズム関数の呼び出しの近くで述語関数を定義したいと思う機会が多い。しかし、このためには関数内部でクラスを定義するしかなかった。この方法は記述量が多く、またコードの流れを妨げがちである。加えて、標準 C++ の規則では、関数の中で定義されたクラスをテンプレートの中で使うことを認めていないので、結局どうしても使うことは不可能であった。これに対して、C++11ではラムダ関数が定義できるようになった。ラムダ関数は以下のように定義される:[](int x, int y) -> int { int z = x + y; return z + x; }これは、int型の引数を二つとり、int型の値を返すラムダ式である。その内容は{ } の中に記述される。ラムダ関数の内容が "return 式" の形式である場合には、戻り値型を省略することができる。[](int x, int y) { return x + y; }このラムダ関数の戻り値型は decltype(x+y) になる。ラムダ関数が値を返さない場合、つまり戻り値型が void の場合も戻り値型を省略できる。ラムダ関数の外で定義された変数であっても、ラムダ関数の中で使用することができる。この種のものは一般にクロージャと呼ばれる。クロージャは[ ]の中に記述する。std::vector<int> someList;int total = 0;std::for_each(someList.begin(), someList.end(), [&total](int x) {  total += x;});std::cout << total;これは、リストの全要素の合計を表示する例である。変数 total がラムダ関数のクロージャの一部として格納される。これはスタック変数 total への参照なので、代入することで外側の total の値も変更される。& は参照を表すシンボルである。スタック変数に対応するクロージャ変数は、&を付けずに定義することも可能で、その場合はラムダ関数は値をコピーする。これにより、スタック変数を参照するのかコピーするのかどちらの意図があるのかわかるようになる。スタック変数を参照することは危険な場合がある。例えば (C++11 標準の) std::function オブジェクトに格納するなどして、ラムダ関数を生成したスコープの外側で使いたい場合は、ラムダ関数がスタック変数を参照していないことをよく確認する必要がある。ラムダ関数がその定義のあるスコープの内側で実行されることが保証されている場合は、次のように記述すれば、スタック変数をひとつひとつ指定せずに全ての利用可能なスタック変数を使用できる。std::vector<int> someList;int total = 0;std::for_each(someList.begin(), someList.end(), [&](int x) {  total += x;});[ ]の中には次のような指定が可能である。[]        // ラムダ関数外のどの変数も使うことができない。[x, &y]   // xはコピーされる。yは参照渡しされる。[&]       // すべての外部変数は、もし使われれば暗黙的に参照渡しされる。[=]       // すべての外部変数は、もし使われれば暗黙的にコピーされる。[&, x]    // xは明示的にコピーされる。その他の変数は参照渡しされる。[=, &z]   // zは明示的に参照渡しされる。その他の変数はコピーされる。また、ラムダ関数がクラスのメンバ関数により定義された場合、そのクラスのフレンドであると見なされる。そのようなラムダ関数は、そのクラス型のオブジェクトへの参照を使って、内部のメンバにアクセスできる。[](SomeType *typePtr) { typePtr->SomePrivateMemberFunction(); };この例は、このラムダ関数の生成するスコープが SomeType のメンバ関数の中にある場合にのみ動作する。this ポインタは、各時点でメンバ関数が作動しているオブジェクトを指しているが、その扱いは特別である。ラムダ関数中に明示的な指定が必要になる。 [this]() { this->SomePrivateMemberFunction(); }; [&] または [=] 形式のラムダ関数を用いていれば、thisの記述は必要ない。ラムダ関数の型はコンパイラ依存であり、明示的に記述することはできない。ラムダ関数を引数として取得したい場合は、その型をテンプレート型にするか、std::function などの型消去の仕組みを使う必要がある。auto キーワードを使ってラムダ関数をローカル変数に格納することはできる。auto myLambdaFunc = [this]() { this->SomePrivateMemberFunction(); };