---
description: "Learn more about: string (C++)"
title: "string (C++ COM Attribute)"
ms.date: "10/02/2018"
f1_keywords: ["vc-attr.string"]
helpviewer_keywords: ["string attribute"]
ms.assetid: ddde900a-2e99-4fcd-86e8-57e1bdba7c93
---
# string (C++)
Indicates that the one-dimensional **`char`**, **`wchar_t`**, `byte` (or equivalent) array or the pointer to such an array must be treated as a string.
## Syntax
```cpp
[string]
```
## Remarks
The **string** C++ attribute has the same functionality as the [string](/windows/win32/Midl/string) MIDL attribute.
## Example
The following code shows how to use **string** on an interface and on a typedef:
```cpp
// cpp_attr_ref_string.cpp
// compile with: /LD
#include "unknwn.h"
[module(name="ATLFIRELib")];
[export, string] typedef char a[21];
[dispinterface, restricted, uuid("00000000-0000-0000-0000-000000000001")]
__interface IFireTabCtrl
{
[id(1)] HRESULT Method3([in, string] char *pC);
};
```
## Requirements
| Attribute context | Value |
|-|-|
|**Applies to**|Array or pointer to an array, interface parameter, interface method|
|**Repeatable**|No|
|**Required attributes**|None|
|**Invalid attributes**|None|
For more information about the attribute contexts, see [Attribute Contexts](cpp-attributes-com-net.md#contexts).
## See also
[IDL Attributes](idl-attributes.md)
[Array Attributes](array-attributes.md)
[export](export.md)