Skip to content

Commit 69dc8c5

Browse files
author
Colin Robertson
authored
Merge branch 'master' into add-desc-03
2 parents 4c70395 + 46767da commit 69dc8c5

File tree

4 files changed

+45
-33
lines changed

4 files changed

+45
-33
lines changed

docs/atl-mfc-shared/reference/cstringt-class.md

+4-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
title: "**`CStringT`** Class"
33
description: "API reference for the Microsoft ATL **`CStringT`** class"
4-
ms.date: "11/13/2020"
5-
f1_keywords: ["CStringT", "ATLSTR/ATL::CStringT", "ATLSTR/ATL::CStringT::CStringT", "ATLSTR/ATL::CStringT::AllocSysString", "ATLSTR/ATL::CStringT::AnsiToOem", "ATLSTR/ATL::CStringT::AppendFormat", "ATLSTR/ATL::CStringT::Collate", "ATLSTR/ATL::CStringT::CollateNoCase", "ATLSTR/ATL::CStringT::Compare", "ATLSTR/ATL::CStringT::CompareNoCase", "ATLSTR/ATL::CStringT::Delete", "ATLSTR/ATL::CStringT::Find", "ATLSTR/ATL::CStringT::FindOneOf", "ATLSTR/ATL::CStringT::Format", "ATLSTR/ATL::CStringT::FormatMessage", "ATLSTR/ATL::CStringT::FormatMessageV", "ATLSTR/ATL::CStringT::FormatV", "ATLSTR/ATL::CStringT::GetEnvironmentVariable", "ATLSTR/ATL::CStringT::Insert", "ATLSTR/ATL::CStringT::Left", "ATLSTR/ATL::CStringT::LoadString", "ATLSTR/ATL::CStringT::MakeLower", "ATLSTR/ATL::CStringT::MakeReverse", "ATLSTR/ATL::CStringT::MakeUpper", "ATLSTR/ATL::CStringT::Mid", "ATLSTR/ATL::CStringT::OemToAnsi", "ATLSTR/ATL::CStringT::Remove", "ATLSTR/ATL::CStringT::Replace", "ATLSTR/ATL::CStringT::ReverseFind", "ATLSTR/ATL::CStringT::Right", "ATLSTR/ATL::CStringT::SetSysString", "ATLSTR/ATL::CStringT::SpanExcluding", "ATLSTR/ATL::CStringT::SpanIncluding", "ATLSTR/ATL::CStringT::Tokenize", "ATLSTR/ATL::CStringT::Trim", "ATLSTR/ATL::CStringT::TrimLeft", "ATLSTR/ATL::CStringT::TrimRight", "CSTRINGT/CStringT", "CSTRINGT/CStringT::CStringT", "CSTRINGT/CStringT::AllocSysString", "CSTRINGT/CStringT::AnsiToOem", "CSTRINGT/CStringT::AppendFormat", "CSTRINGT/CStringT::Collate", "CSTRINGT/CStringT::CollateNoCase", "CSTRINGT/CStringT::Compare", "CSTRINGT/CStringT::CompareNoCase", "CSTRINGT/CStringT::Delete", "CSTRINGT/CStringT::Find", "CSTRINGT/CStringT::FindOneOf", "CSTRINGT/CStringT::Format", "CSTRINGT/CStringT::FormatMessage", "CSTRINGT/CStringT::FormatMessageV", "CSTRINGT/CStringT::FormatV", "CSTRINGT/CStringT::GetEnvironmentVariable", "CSTRINGT/CStringT::Insert", "CSTRINGT/CStringT::Left", "CSTRINGT/CStringT::LoadString", "CSTRINGT/CStringT::MakeLower", "CSTRINGT/CStringT::MakeReverse", "CSTRINGT/CStringT::MakeUpper", "CSTRINGT/CStringT::Mid", "CSTRINGT/CStringT::OemToAnsi", "CSTRINGT/CStringT::Remove", "CSTRINGT/CStringT::Replace", "CSTRINGT/CStringT::ReverseFind", "CSTRINGT/CStringT::Right", "CSTRINGT/CStringT::SetSysString", "CSTRINGT/CStringT::SpanExcluding", "CSTRINGT/CStringT::SpanIncluding", "CSTRINGT/CStringT::Tokenize", "CSTRINGT/CStringT::Trim", "CSTRINGT/CStringT::TrimLeft", "CSTRINGT/CStringT::TrimRight"]
4+
ms.date: 12/06/2020
5+
f1_keywords: ["CStringT", "CSTRINGT/ATL::CStringT", "CSTRINGT/ATL::CStringT::CStringT", "CSTRINGT/ATL::CStringT::AllocSysString", "CSTRINGT/ATL::CStringT::AnsiToOem", "CSTRINGT/ATL::CStringT::AppendFormat", "CSTRINGT/ATL::CStringT::Collate", "CSTRINGT/ATL::CStringT::CollateNoCase", "CSTRINGT/ATL::CStringT::Compare", "CSTRINGT/ATL::CStringT::CompareNoCase", "CSTRINGT/ATL::CStringT::Delete", "CSTRINGT/ATL::CStringT::Find", "CSTRINGT/ATL::CStringT::FindOneOf", "CSTRINGT/ATL::CStringT::Format", "CSTRINGT/ATL::CStringT::FormatMessage", "CSTRINGT/ATL::CStringT::FormatMessageV", "CSTRINGT/ATL::CStringT::FormatV", "CSTRINGT/ATL::CStringT::GetEnvironmentVariable", "CSTRINGT/ATL::CStringT::Insert", "CSTRINGT/ATL::CStringT::Left", "CSTRINGT/ATL::CStringT::LoadString", "CSTRINGT/ATL::CStringT::MakeLower", "CSTRINGT/ATL::CStringT::MakeReverse", "CSTRINGT/ATL::CStringT::MakeUpper", "CSTRINGT/ATL::CStringT::Mid", "CSTRINGT/ATL::CStringT::OemToAnsi", "CSTRINGT/ATL::CStringT::Remove", "CSTRINGT/ATL::CStringT::Replace", "CSTRINGT/ATL::CStringT::ReverseFind", "CSTRINGT/ATL::CStringT::Right", "CSTRINGT/ATL::CStringT::SetSysString", "CSTRINGT/ATL::CStringT::SpanExcluding", "CSTRINGT/ATL::CStringT::SpanIncluding", "CSTRINGT/ATL::CStringT::Tokenize", "CSTRINGT/ATL::CStringT::Trim", "CSTRINGT/ATL::CStringT::TrimLeft", "CSTRINGT/ATL::CStringT::TrimRight"]
66
helpviewer_keywords: ["strings [C++], in ATL", "shared classes, CStringT", "CStringT class"]
77
---
8-
# CStringT Class
8+
# `CStringT` Class
99

1010
This class represents a **`CStringT`** object.
1111

@@ -493,7 +493,7 @@ Because the constructors copy the input data into new allocated storage, memory
493493
- **`CStringT`**( `const unsigned char*` `psz` ): Allows you to construct a **`CStringT`** from a pointer to **`unsigned char`**.
494494

495495
> [!NOTE]
496-
> Define the` _CSTRING_DISABLE_NARROW_WIDE_CONVERSION` macro to turn off implicit string conversion between ANSI and Unicode strings. The macro excludes from compilation constructors that support conversion.
496+
> Define the `_CSTRING_DISABLE_NARROW_WIDE_CONVERSION` macro to turn off implicit string conversion between ANSI and Unicode strings. The macro excludes from compilation constructors that support conversion.
497497
498498
The *`strSrc`* parameter can be either a **`CStringT`** or `CThisSimpleString` object. For **`CStringT`**, use one of its default instantiations (`CString`, `CStringA`, or `CStringW`); for `CThisSimpleString`, use a **`this`** pointer. `CThisSimpleString` declares an instance of the [CSimpleStringT Class](../../atl-mfc-shared/reference/csimplestringt-class.md), which is a smaller string class with less built-in functionality than the **`CStringT`** class.
499499

@@ -1560,8 +1560,6 @@ Unlike the CRT tokenize functions like [`strtok_s, _strtok_s_l, wcstok_s, _wcsto
15601560

15611561
[!code-cpp[NVC_ATLMFC_Utilities#135](../../atl-mfc-shared/codesnippet/cpp/cstringt-class_39.cpp)]
15621562

1563-
### Remarks
1564-
15651563
The output from this example is as follows:
15661564

15671565
```Output
@@ -1606,8 +1604,6 @@ Removes all leading and trailing occurrences of one of the following:
16061604
16071605
[!code-cpp[NVC_ATLMFC_Utilities#136](../../atl-mfc-shared/codesnippet/cpp/cstringt-class_40.cpp)]
16081606
1609-
### Remarks
1610-
16111607
The output from this example is as follows:
16121608
16131609
```Output

docs/build/configure-cmake-debugging-sessions.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Configure CMake debugging sessions in Visual Studio"
33
description: "Describes how to use Visual Studio to configure CMake debugger settings."
4-
ms.date: "04/02/2020"
4+
ms.date: "12/07/2020"
55
helpviewer_keywords: ["CMake debugging"]
66
---
77
# Configure CMake debugging sessions
@@ -105,6 +105,8 @@ In Visual Studio 2019 version 16.6, we added a new debug configuration of `type:
105105
#### Additional options allowed with the `gdbserver` configuration (16.7 or later)
106106

107107
- `program`: Defaults to `"${debugInfo.fullTargetPath}"`. The Unix path to the application to debug. Only required if different than the target executable in the build or deploy location.
108+
> [!TIP]
109+
> Deploy is not yet supported for local cross-compilation scenarios. If you are cross-compiling on Windows (for example, using a cross-compiler on Windows to build a Linux ARM executable) then you'll need to manually copy the binary to the location specified by `program` on the remote ARM machine before debugging.
108110
- `remoteMachineName`: Defaults to `"${debugInfo.remoteMachineName}"`. Name of the remote system that hosts the program to debug. Only required if different than the build system. Must have an existing entry in the [Connection Manager](../linux/connect-to-your-remote-linux-computer.md). Press **Ctrl+Space** to view a list of all existing remote connections.
109111
- `cwd`: Defaults to `"${debugInfo.defaultWorkingDirectory}"`. Full Unix path to the directory on the remote system where `program` is run. The directory must exist.
110112
- `gdbPath`: Defaults to `${debugInfo.vsInstalledGdb}`. Full Windows path to the `gdb` used to debug. Defaults to the `gdb` installed with the Linux development with C/C++ workload.

docs/build/vcpkg.md

+2
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,8 @@ The vcpkg package manager is updated regularly on GitHub. To update your clone o
221221

222222
To uninstall vcpkg, just delete the vcpkg directory. Deleting this directory uninstalls the vcpkg distribution, and all the libraries that vcpkg has installed.
223223

224+
However if you have executed **`vcpkg integrate install`** you should execute **`vcpkg integrate remove`** to ensure the integration is cleaned, before the folder is removed.
225+
224226
## Send feedback about vcpkg
225227

226228
Use the **`vcpkg contact --survey`** command to send feedback to Microsoft about vcpkg, including bug reports and suggestions for features.

docs/cpp/scope-resolution-operator.md

+36-24
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,41 @@
11
---
2-
description: "Learn more about: Scope Resolution Operator: ::"
3-
title: "Scope Resolution Operator: ::"
4-
ms.date: "11/04/2016"
2+
title: "Scope resolution operator: `::`"
3+
description: "Learn how the scope resolution operator `::` works in Standard C++."
4+
ms.date: 12/06/2020
55
f1_keywords: ["::"]
66
helpviewer_keywords: ["scope, scope resolution operator", "operators [C++], scope resolution", "scope resolution operator", ":: operator"]
7-
ms.assetid: fd5de9d3-c716-4e12-bae9-03a16fd79a50
87
---
9-
# Scope Resolution Operator: ::
8+
# Scope resolution operator: `::`
109

11-
The scope resolution operator **::** is used to identify and disambiguate identifiers used in different scopes. For more information about scope, see [Scope](../cpp/scope-visual-cpp.md).
10+
The scope resolution operator **`::`** is used to identify and disambiguate identifiers used in different scopes. For more information about scope, see [Scope](../cpp/scope-visual-cpp.md).
1211

1312
## Syntax
1413

15-
```
16-
:: identifier
17-
class-name :: identifier
18-
namespace :: identifier
19-
enum class :: identifier
20-
enum struct :: identifier
21-
```
14+
> *`qualified-id`*:\
15+
> &emsp;*`nested-name-specifier`* **`template`**<sub>opt</sub> *`unqualified-id`*
16+
17+
> *`nested-name-specifier`*:\
18+
> &emsp;**`::`**\
19+
> &emsp;*`type-name`* **`::`**\
20+
> &emsp;*`namespace-name`* **`::`**\
21+
> &emsp;*`decltype-specifier`* **`::`**\
22+
> &emsp;*`nested-name-specifier`* *`identifier`* **`::`**\
23+
> &emsp;*`nested-name-specifier`* **`template`**<sub>opt</sub> *`simple-template-id`* **`::`**
24+
25+
> *`unqualified-id`*:\
26+
> &emsp;*`identifier`*\
27+
> &emsp;*`operator-function-id`*\
28+
> &emsp;*`conversion-function-id`*\
29+
> &emsp;*`literal-operator-id`*\
30+
> &emsp;**`~`** *`type-name`*\
31+
> &emsp;**`~`** *`decltype-specifier`*\
32+
> &emsp;*`template-id`*
2233
2334
## Remarks
2435

2536
The `identifier` can be a variable, a function, or an enumeration value.
2637

27-
## With Classes and Namespaces
38+
## Use `::` for classes and namespaces
2839

2940
The following example shows how the scope resolution operator is used with namespaces and classes:
3041

@@ -70,7 +81,7 @@ int main() {
7081
}
7182
```
7283

73-
You can use the scope resolution operator to identify a member of a namespace, or to identify a namespace that nominates the member’s namespace in a using-directive. In the example below, you can use `NamespaceC` to qualify `ClassB`, even though `ClassB` was declared in namespace `NamespaceB`, because `NamespaceB` was nominated in `NamespaceC` by a using directive.
84+
You can use the scope resolution operator to identify a member of a **`namespace`**, or to identify a namespace that nominates the member’s namespace in a **`using`** directive. In the example below, you can use `NamespaceC` to qualify `ClassB`, even though `ClassB` was declared in namespace `NamespaceB`, because `NamespaceB` was nominated in `NamespaceC` by a **`using`** directive.
7485

7586
```cpp
7687
namespace NamespaceB {
@@ -81,14 +92,15 @@ namespace NamespaceB {
8192
}
8293

8394
namespace NamespaceC{
84-
using namespace B;
95+
using namespace NamespaceB;
8596
}
97+
8698
int main() {
87-
NamespaceB::ClassB c_b;
88-
NamespaceC::ClassB c_c;
99+
NamespaceB::ClassB b_b;
100+
NamespaceC::ClassB c_b;
89101

90-
c_b.x = 3;
91-
c_c.x = 4;
102+
b_b.x = 3;
103+
c_b.x = 4;
92104
}
93105
```
94106
@@ -118,7 +130,7 @@ int main() {
118130
}
119131
```
120132

121-
## With Static Members
133+
## Use `::` for static members
122134

123135
You must use the scope resolution operator to call static members of classes.
124136

@@ -138,9 +150,9 @@ int main() {
138150
}
139151
```
140152
141-
## With Scoped Enumerations
153+
## Use `::` for scoped enumerations
142154
143-
The scoped resolution operator is also used with the values of a scoped enumeration [Enumeration Declarations](../cpp/enumerations-cpp.md), as in the following example:
155+
The scoped resolution operator is also used with the values of a scoped enumeration [Enumeration declarations](../cpp/enumerations-cpp.md), as in the following example:
144156
145157
```cpp
146158
enum class EnumA{
@@ -156,5 +168,5 @@ int main() {
156168

157169
## See also
158170

159-
[C++ Built-in Operators, Precedence and Associativity](../cpp/cpp-built-in-operators-precedence-and-associativity.md)<br/>
171+
[C++ built-in operators, precedence, and associativity](../cpp/cpp-built-in-operators-precedence-and-associativity.md)<br/>
160172
[Namespaces](../cpp/namespaces-cpp.md)

0 commit comments

Comments
 (0)