1# <small>nlohmann::basic_json::</small>get_ptr 2 3```cpp 4template<typename PointerType> 5PointerType get_ptr() noexcept; 6 7template<typename PointerType> 8constexpr const PointerType get_ptr() const noexcept; 9``` 10 11Implicit pointer access to the internally stored JSON value. No copies are made. 12 13## Template parameters 14 15`PointerType` 16: pointer type; must be a pointer to [`array_t`](array_t.md), [`object_t`](object_t.md), [`string_t`](string_t.md), 17 [`boolean_t`](boolean_t.md), [`number_integer_t`](number_integer_t.md), or 18 [`number_unsigned_t`](number_unsigned_t.md), [`number_float_t`](number_float_t.md), or [`binary_t`](binary_t.md). 19 Other types will not compile. 20 21## Return value 22 23pointer to the internally stored JSON value if the requested pointer type fits to the JSON value; `#!cpp nullptr` 24otherwise 25 26## Exception safety 27 28No-throw guarantee: this function never throws exceptions. 29 30## Complexity 31 32Constant. 33 34## Notes 35 36!!! danger "Undefined behavior" 37 38 Writing data to the pointee of the result yields an undefined state. 39 40## Examples 41 42??? example 43 44 The example below shows how pointers to internal values of a JSON value can be requested. Note that no type 45 conversions are made and a `#!cpp nullptr` is returned if the value and the requested pointer type does not match. 46 47 ```cpp 48 --8<-- "examples/get_ptr.cpp" 49 ``` 50 51 Output: 52 53 ```json 54 --8<-- "examples/get_ptr.output" 55 ``` 56 57## Version history 58 59- Added in version 1.0.0. 60- Extended to binary types in version 3.8.0. 61