Skip to content

# basic_json::operator=

    basic_json& operator=(basic_json other) noexcept (
        std::is_nothrow_move_constructible<value_t>::value &&
        std::is_nothrow_move_assignable<value_t>::value &&
        std::is_nothrow_move_constructible<json_value>::value &&
        std::is_nothrow_move_assignable<json_value>::value
    );

Copy assignment operator. Copies a JSON value via the "copy and swap" strategy: It is expressed in terms of the copy constructor, destructor, and the `swap()` member function.

## Parameters

`other` (in)
  value to copy from

## Complexity

Linear.

## Example

Example

The code below shows and example for the copy assignment. It creates a copy of value `a` which is then swapped with `b`. Finally, the copy of `a` (which is the null value after the swap) is destroyed.

    #include <iostream>
    #include <nlohmann/json.hpp>

    using json = nlohmann::json;

    int main()
    {
        // create JSON values
        json a = 23;
        json b = 42;

        // copy-assign a to b
        b = a;

        // serialize the JSON arrays
        std::cout << a << '\n';
        std::cout << b << '\n';
    }

Output:

    23
    23

## Version history

- Added in version 1.0.0.