You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/atl-mfc-shared/atl-mfc-shared-classes.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ ms.author: "mblome"
17
17
manager: "ghogen"
18
18
---
19
19
# ATL/MFC Shared Classes
20
-
Beginning with Visual C++ .NET 2002, several existing MFC utility classes were rewritten or revised to reduce their dependencies on other MFC classes. These utility classes can now be used in any native C++ project. This section only includes classes that were previously available to MFC projects and have now been shared, plus a few new classes related to the changes in `CString`. It does not include the ATL classes, which can be used in any native C++ project type by inclusion of the appropriate header.
20
+
These utility classes can be used in any native C++ project without requiring any MFC DLL.
21
21
22
22
## In This Section
23
23
[Classes Shared Between MFC and ATL](../atl-mfc-shared/reference/classes-shared-by-mfc-and-atl.md)
Copy file name to clipboardExpand all lines: docs/atl-mfc-shared/reference/cstringt-class.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -140,7 +140,7 @@ public CSimpleStringT<BaseType,
140
140
`CString`, `CStringA`, and `CStringW` are exported from the MFC DLL (MFC90.DLL), never from user DLLs. This is done to prevent `CStringT` from being multiply defined.
141
141
142
142
> [!NOTE]
143
-
> If you encountered linker errors when exporting a `CString`-derived class from an MFC extension DLL in Visual C++ .NET 2002 and have applied the workaround as described in the Knowledge Base article, "Linking Errors When You Import CString-Derived Classes" (Q309801), you should remove the workaround code, because this has been fixed in Visual C++ .NET 2003. You can find Knowledge Base articles at [http://support.microsoft.com/support](http://support.microsoft.com/support).
143
+
> If your code contains the workaround for linker errors that is described in [Linking Errors When You Import CString-Derived Classes" (Q309801)](https://support.microsoft.com/help/309801/you-may-receive-an-lnk2019-error-message-when-you-build-a-visual-c-200), you should remove that code. It is no longer needed.
144
144
145
145
The following string types are available within MFC-based applications:
A **__time64_t** time value, which is the number of seconds after January 1, 1970 UTC. Note that this will be adjusted to your local time. For example, if you are in New York and create a `CTime` object by passing a parameter of 0, [CTime::GetMonth](#getmonth) will return 12.
130
-
131
-
In Visual C++ versions 6.0 and earlier, `time` was a value of `time_t`. Visual C++ .NET and later converts a `time_t` parameter to **__time64_t**.
Copy file name to clipboardExpand all lines: docs/atl-mfc-shared/reference/ctimespan-class.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -114,7 +114,7 @@ CTimeSpan(
114
114
A `CTimeSpan` object that already exists.
115
115
116
116
`time`
117
-
A **__time64_t** time value, which is the number of seconds in the time span. In Visual C++ versions 6.0 and earlier, `time` was a value of `time_t`. Visual C++ .NET or later silently converts a `time_t` parameter to **__time64_t**.
117
+
A **__time64_t** time value, which is the number of seconds in the time span.
Copy file name to clipboardExpand all lines: docs/atl/reference/compiler-options-macros.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,7 +64,7 @@ These macros control specific compiler features.
64
64
65
65
If this `#define` is added, the ATL headers are careful to preserve the state of these warnings so that they are not disabled globally (or if the user explicitly disables individual warnings, not to enable them).
66
66
67
-
New projects generated with Visual C++ .NET 2002 will have this `#define` set in stdafx.h by default.
67
+
New projects have this `#define` set in stdafx.h by default.
@@ -30,20 +25,7 @@ This topic compares the default ATL project configurations in Visual C++ .NET wi
30
25
31
26
**Character set**, **Use of ATL** and can all be changed in the **Project Settings** dialog under the **General** tab. You can also add your own configurations using the Configuration Manager. For details, see [Build Configurations](/visualstudio/ide/understanding-build-configurations).
32
27
33
-
## Version 6.0 Default Configurations
34
-
In Visual C++ version 6.0, the ATL COM AppWizard (now called the ATL Project Wizard) created six project configurations by default. The configurations were variations on Release, Debug, Unicode, and use of CRT and ATL settings. All these configurations can be duplicated in Visual C++ .NET using the Configuration Manager, if so desired.
Copy file name to clipboardExpand all lines: docs/build/reference/assemblydebug-add-debuggableattribute.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ manager: "ghogen"
42
42
```
43
43
44
44
## Remarks
45
-
In Visual C++ .NET 2003 and later, it is necessary to explicitly specify that a managed image be debuggable. Using [/Zi](../../build/reference/z7-zi-zi-debug-information-format.md) alone is not sufficient.
45
+
It is necessary to explicitly specify that a managed image be debuggable. Using [/Zi](../../build/reference/z7-zi-zi-debug-information-format.md) alone is not sufficient.
46
46
47
47
Other linker options that affect assembly generation are:
Copy file name to clipboardExpand all lines: docs/cpp/general-rules-and-limitations.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,7 +63,7 @@ manager: "ghogen"
63
63
}
64
64
```
65
65
66
-
- Because of a change in behavior introduce in Visual C++ .NET to make the application of `dllexport` more consistent between regular classes and specializations of class templates, if you apply `dllexport` to a regular class that has a base class that is not marked as `dllexport`, the compiler will generate C4275.
66
+
- If you apply `dllexport` to a regular class that has a base class that is not marked as `dllexport`, the compiler will generate C4275.
67
67
68
68
The compiler generates the same warning if the base class is a specialization of a class template. To work around this, mark the base-class with `dllexport`. The problem with a specialization of a class template is where to place the **__declspec(dllexport)**; you are not allowed to mark the class template. Instead, explicitly instantiate the class template and mark this explicit instantiation with `dllexport`. For example:
69
69
@@ -80,7 +80,7 @@ manager: "ghogen"
80
80
// ...
81
81
```
82
82
83
-
Because this is common pattern with templates, the compiler changed the semantics of `dllexport` when it is applied to a class that has one or more base-classes and when one or more of the base classes is a specialization of a class template. In this case, the compiler implicitly applies `dllexport` to the specializations of class templates. In Visual C++ .NET, a user can do the following and not get a warning:
83
+
Because this is common pattern with templates, the compiler changed the semantics of `dllexport` when it is applied to a class that has one or more base-classes and when one or more of the base classes is a specialization of a class template. In this case, the compiler implicitly applies `dllexport` to the specializations of class templates. You can do the following and not get a warning:
Copy file name to clipboardExpand all lines: docs/cpp/member-function-templates.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,8 +62,6 @@ int main()
62
62
```
63
63
64
64
## Example
65
-
66
-
Additionally, in Visual Studio .NET 2003 and later, member templates can also be defined outside of a class.
67
65
68
66
```cpp
69
67
// defining_member_templates_outside_class.cpp
@@ -91,7 +89,7 @@ int main()
91
89
92
90
Member template functions cannot be virtual functions and cannot override virtual functions from a base class when they are declared with the same name as a base class virtual function.
93
91
94
-
Visual C++ .NET 2003 introduced support for templated user-defined conversions. The following sample works in Visual C++ .NET 2003 as specified in the standard.
92
+
The following example shows a templated user-defined conversion:
Copy file name to clipboardExpand all lines: docs/cpp/new-and-delete-operators.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ manager: "ghogen"
20
20
21
21
C++ supports dynamic allocation and deallocation of objects using the [new](../cpp/new-operator-cpp.md) and [delete](../cpp/delete-operator-cpp.md) operators. These operators allocate memory for objects from a pool called the free store. The `new` operator calls the special function [operator new](../cpp/new-operator-cpp.md), and the `delete` operator calls the special function [operator delete](../cpp/delete-operator-cpp.md).
22
22
23
-
In Visual C++ .NET 2002, the `new` function in the C++ Standard Library will support the behavior specified in the C++ standard, which is to throw a std::bad_alloc exception if the memory allocation fails. If you still want the non-throwing version of `new`, link your program with nothrownew.obj. However, when you link with nothrownew.obj, the default `operator new` in the C++ Standard Library no longer functions.
23
+
The `new` function in the C++ Standard Library supports the behavior specified in the C++ standard, which is to throw a std::bad_alloc exception if the memory allocation fails. If you still want the non-throwing version of `new`, link your program with nothrownew.obj. However, when you link with nothrownew.obj, the default `operator new` in the C++ Standard Library no longer functions.
24
24
25
25
For a list of the library files that comprise the C Runtime Library and the C++ Standard Library, see [CRT Library Features](../c-runtime-library/crt-library-features.md).
0 commit comments