diff --git a/docs/build/x64-calling-convention.md b/docs/build/x64-calling-convention.md
index abb153a846..bf4a575b47 100644
--- a/docs/build/x64-calling-convention.md
+++ b/docs/build/x64-calling-convention.md
@@ -93,7 +93,7 @@ If parameters are passed via varargs (for example, ellipsis arguments), then the
 
 For functions not fully prototyped, the caller passes integer values as integers and floating-point values as double precision. For floating-point values only, both the integer register and the floating-point register contain the float value in case the callee expects the value in the integer registers.
 
-```cpp
+```c
 func1();
 func2() {   // RCX = 2, RDX = XMM1 = 1.0, and R8 = 7
    func1(2, 1.0, 7);
diff --git a/docs/cpp/how-to-create-and-use-ccomptr-and-ccomqiptr-instances.md b/docs/cpp/how-to-create-and-use-ccomptr-and-ccomqiptr-instances.md
index 37f9edb380..a780106d81 100644
--- a/docs/cpp/how-to-create-and-use-ccomptr-and-ccomqiptr-instances.md
+++ b/docs/cpp/how-to-create-and-use-ccomptr-and-ccomqiptr-instances.md
@@ -3,7 +3,6 @@ description: "Learn more about: How to: Create and use CComPtr and CComQIPtr ins
 title: "How to: Create and use CComPtr and CComQIPtr instances"
 ms.custom: "how-to"
 ms.date: "11/19/2019"
-ms.assetid: b0356cfb-12cc-4ee8-b988-8311ed1ab5e0
 ---
 # How to: Create and use CComPtr and CComQIPtr instances
 
@@ -19,7 +18,7 @@ The following example shows how to use `CComPtr` to instantiate a COM object and
 
 `CComPtr` and its relatives are part of the ATL and are defined in \<atlcomcli.h>. `_com_ptr_t` is declared in \<comip.h>. The compiler creates specializations of `_com_ptr_t` when it generates wrapper classes for type libraries.
 
-## Example: CComQIPt
+## Example: CComQIPtr
 
 ATL also provides `CComQIPtr`, which has a simpler syntax for querying a COM object to retrieve an additional interface. However, we recommend `CComPtr` because it does everything that `CComQIPtr` can do and is semantically more consistent with raw COM interface pointers. If you use a `CComPtr` to query for an interface, the new interface pointer is placed in an out parameter. If the call fails, an HRESULT is returned, which is the typical COM pattern. With `CComQIPtr`, the return value is the pointer itself, and if the call fails, the internal HRESULT return value cannot be accessed. The following two lines show how the error handling mechanisms in `CComPtr` and `CComQIPtr` differ.
 
diff --git a/docs/cpp/lvalues-and-rvalues-visual-cpp.md b/docs/cpp/lvalues-and-rvalues-visual-cpp.md
index 0fb47aa4e2..ad2e8ebae4 100644
--- a/docs/cpp/lvalues-and-rvalues-visual-cpp.md
+++ b/docs/cpp/lvalues-and-rvalues-visual-cpp.md
@@ -27,7 +27,7 @@ An lvalue has an address that your program can access. Examples of lvalue expres
 
 A prvalue expression has no address that is accessible by your program. Examples of prvalue expressions include literals, function calls that return a nonreference type, and temporary objects that are created during expression evaluation but accessible only by the compiler.
 
-An xvalue expression has an address that no longer accessible by your program but can be used to initialize an rvalue reference, which provides access to the expression. Examples include function calls that return an rvalue reference, and the array subscript, member and pointer to member expressions where the array or object is an rvalue reference.
+An xvalue expression has an address that is no longer accessible by your program but can be used to initialize an rvalue reference, which provides access to the expression. Examples include function calls that return an rvalue reference, and the array subscript, member and pointer to member expressions where the array or object is an rvalue reference.
 
 ## Example
 
diff --git a/docs/parallel/openmp/reference/openmp-directives.md b/docs/parallel/openmp/reference/openmp-directives.md
index 2e841d2138..ef1fd1944d 100644
--- a/docs/parallel/openmp/reference/openmp-directives.md
+++ b/docs/parallel/openmp/reference/openmp-directives.md
@@ -28,7 +28,7 @@ For main thread and synchronization:
 |[master](#master)|Specifies that only the main thread should execute a section of the program.|
 |[critical](#critical)|Specifies that code is only executed on one thread at a time.|
 |[barrier](#barrier)|Synchronizes all threads in a team; all threads pause at the barrier, until all threads execute the barrier.|
-|[atomic](#atomic)|Specifies that a memory location that will be updated atomically.|
+|[atomic](#atomic)|Specifies that a memory location will be updated atomically.|
 |[flush](#flush-openmp)|Specifies that all threads have the same view of memory for all shared objects.|
 |[ordered](#ordered-openmp-directives)|Specifies that code under a parallelized `for` loop should be executed like a sequential loop.|
 
diff --git a/docs/preprocessor/optimize.md b/docs/preprocessor/optimize.md
index ddcd04b833..f8dd4c9625 100644
--- a/docs/preprocessor/optimize.md
+++ b/docs/preprocessor/optimize.md
@@ -1,7 +1,7 @@
 ---
 description: "Learn more about: optimize pragma"
 title: "optimize pragma"
-ms.date: 01/22/2021
+ms.date: 07/25/2025
 f1_keywords: ["vc-pragma.optimize", "optimize_CPP"]
 helpviewer_keywords: ["pragma, optimize", "optimize pragma"]
 no-loc: ["pragma"]
@@ -25,8 +25,8 @@ The *optimization-list* can be zero or more of the parameters shown in the follo
 | Parameter(s) | Type of optimization |
 |--------------------|--------------------------|
 | **`g`** | Enable global optimizations. Deprecated. For more information, see [`/Og` (Global optimizations)](../build/reference/og-global-optimizations.md). |
-| **`s`** or **`t`** | Specify short or fast sequences of machine code. |
-| **`y`** | Generate frame pointers on the program stack. |
+| **`s`** or **`t`** | Favor short or fast sequences of machine code. |
+| **`y`** | Omit frame pointers on the program stack. |
 
 These parameters are the same letters used with the [`/O`](../build/reference/o-options-optimize-code.md) compiler options. For example, the following pragma is equivalent to the **`/Os`** compiler option:
 
