41554 blogs · [ { "id": "01a09500-0b58-7306-bf8d-9d380f347d1a", "title": "The C++20’s u8/char8_t Backward-Compatibility Fiasco", "url": "https://giodicanio.com/2026/09/11/the-c-plus-plus-20-s-u8-char8_t-fiasco/", "published_at": "2026-09-11T19:31:21+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684ac00172", "title": "What C++ Version Should You Target?", "url": "https://giodicanio.com/2026/08/18/what-c-plus-plus-version-should-you-target/", "published_at": "2026-08-18T17:52:47+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684b3ef5ea", "title": "Why We Should Double-Check the AI Output: Claude Lies (AKA AI Hallucinations)", "url": "https://giodicanio.com/2026/08/18/why-we-should-double-check-the-ai-output-claude-lies-aka-ai-hallucinations/", "published_at": "2026-08-18T16:20:39+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684bd995a1", "title": "Why We Should Double-Check the AI Output: A Bug Which Wasn’t", "url": "https://giodicanio.com/2026/07/28/why-we-should-double-check-the-ai-output-a-bug-which-wasnt/", "published_at": "2026-07-28T10:39:32+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684c3c9851", "title": "How to Declare a C++ Function that Takes a Blob of Memory?", "url": "https://giodicanio.com/2026/06/05/how-to-declare-a-c-plus-plus-function-that-takes-a-blob-of-memory/", "published_at": "2026-06-05T16:41:48+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684cfabc69", "title": "The char-TCHAR-wchar_t Pendulum in Windows API Native C/C++ Programming", "url": "https://giodicanio.com/2025/11/24/the-char-tchar-wchar_t-pendulum-in-windows-api-native-c-and-c-plus-plus-programming/", "published_at": "2025-11-24T13:01:31+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684d791f00", "title": "The IsoCpp.org Process for Suggesting Articles Is Broken and Should Be Fixed", "url": "https://giodicanio.com/2025/11/05/the-isocpp-org-process-for-suggesting-articles-is-broken-and-should-be-fixed/", "published_at": "2025-11-05T11:53:47+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684d81c059", "title": "Finding the Next Unicode Code Point in Strings: UTF-8 vs. UTF-16", "url": "https://giodicanio.com/2025/11/03/finding-the-next-unicode-code-point-in-strings-utf-8-vs-utf-16/", "published_at": "2025-11-03T12:37:47+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684e3c5dbd", "title": "Converting Between Unicode UTF-16 and UTF-8 in Windows C++ Code", "url": "https://giodicanio.com/2025/10/27/converting-between-unicode-utf-16-and-utf-8-in-windows-c-plus-plus-code/", "published_at": "2025-10-27T11:35:05+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684ebdfe40", "title": "Getting a Descriptive Error Message for a Windows System Error Code", "url": "https://giodicanio.com/2025/10/14/getting-a-descriptive-error-message-for-a-windows-system-error-code/", "published_at": "2025-10-14T18:36:42+00:00" }, { "id": "01a0877d-2515-7347-9c63-a1684efabd5c", "title": "Axialis Developer Suite 82%-off Discount", "url": "https://giodicanio.com/2025/10/14/axialis-developer-suite-82-off-discount/", "published_at": "2025-10-14T17:32:19+00:00" }, { "id": "01a0c50f-3f28-7059-8eeb-854c3b8bb9b1", "title": "Linus Torvalds and the Supposedly “Garbage Code”", "url": "https://giodicanio.com/2025/08/27/linus-torvalds-and-the-supposedly-garbage-code/", "published_at": "2025-08-27T18:12:27+00:00" }, { "id": "01a0c50f-3f28-7059-8eeb-854c3bc6ade1", "title": "How to Set the C++ Language Standard Version in VS Code", "url": "https://giodicanio.com/2025/01/17/how-to-set-the-c-plus-plus-language-standard-version-in-vs-code/", "published_at": "2025-01-17T18:07:39+00:00" }, { "id": "01a0c50f-3f28-7059-8eeb-854c3ca82ccf", "title": "VS Code with MS C/C++ Extension: A Confusing UI Design Choice", "url": "https://giodicanio.com/2025/01/17/vs-code-with-ms-c-cpp-extension-a-confusing-ui-design-choice/", "published_at": "2025-01-17T01:51:52+00:00" }, { "id": "01a0c50f-3f28-7059-8eeb-854c3cfedf9b", "title": "How To Pass a Custom Struct from C# to a C++ Native DLL?", "url": "https://giodicanio.com/2024/12/06/how-to-pass-a-custom-struct-from-csharp-to-a-cpp-native-dll/", "published_at": "2024-12-06T19:18:12+00:00" }, { "id": "01a0c50f-3f28-7059-8eeb-854c3d77f937", "title": "How To Fix an Unhandled System.DllNotFoundException in Mixed C++/C# Projects", "url": "https://giodicanio.com/2024/12/06/how-to-fix-an-unhandled-system-dllnotfoundexception-in-mixed-c-plus-plus-c-sharp-projects/", "published_at": "2024-12-06T02:28:22+00:00" }, { "id": "01a0c50f-3f28-7059-8eeb-854c3d825de4", "title": "C++ Myth-Buster: UTF-8 Is a Simple Drop-in Replacement for ASCII char-based Strings in Existing Code", "url": "https://giodicanio.com/2024/11/21/c-plus-plus-myth-buster-utf-8-is-a-simple-drop-in-replacement-for-ascii-char-based-strings-in-existing-code/", "published_at": "2024-11-21T19:13:55+00:00" }, { "id": "01a0c50f-3f28-7059-8eeb-854c3e0d6731", "title": "Pluralsight Black Friday Deal: 50% Off Individual Plans", "url": "https://giodicanio.com/2024/11/20/pluralsight-black-friday-deal-50-percent-off-individual-plans/", "published_at": "2024-11-20T12:09:42+00:00" }, { "id": "01a0c50f-3f28-7059-8eeb-854c3e34269c", "title": "How to Safely Pass a C++ String View as Input to a C-interface API", "url": "https://giodicanio.com/2024/10/28/how-to-safely-pass-a-c-plus-plus-string-view-to-a-c-interface-api/", "published_at": "2024-10-28T12:54:03+00:00" }, { "id": "01a0c50f-3f28-7059-8eeb-854c3eb35c82", "title": "Passing C++ STL Strings vs. String Views as Input Parameters at the Windows C API Boundary", "url": "https://giodicanio.com/2024/10/21/passing-c-plus-plus-stl-strings-vs-string-views-as-input-parameters-at-the-windows-c-api-boundary/", "published_at": "2024-10-21T18:10:02+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca486e1f92ea", "title": "How To Convert Unicode Strings to Lower Case and Upper Case in C++", "url": "https://giodicanio.com/2024/10/09/how-to-convert-unicode-strings-to-lower-case-and-upper-case-in-c-plus-plus/", "published_at": "2024-10-09T11:31:58+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca486e4378e8", "title": "C++ WinReg Library Updated with Contains Methods", "url": "https://giodicanio.com/2024/09/16/winreg-library-updated-with-contains-methods/", "published_at": "2024-09-16T18:18:21+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca486ec269ec", "title": "Three Pieces of Advice on Using Modern C++ at Win32 API Boundaries", "url": "https://giodicanio.com/2024/06/19/pieces-of-advice-on-using-modern-c-plus-plus-at-win32-api-boundaries/", "published_at": "2024-06-19T18:06:57+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca486ef77bae", "title": "How to Enumerate the Modules Loaded in a Process", "url": "https://giodicanio.com/2024/06/10/how-to-enumerate-the-modules-loaded-in-a-process/", "published_at": "2024-06-10T19:00:37+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca486f45720a", "title": "Comparing STL vs. ATL/MFC String Usage at the Windows API Boundaries", "url": "https://giodicanio.com/2024/06/04/comparing-stl-vs-atl-mfc-string-usage-at-the-windows-api-boundaries/", "published_at": "2024-06-04T17:00:13+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca486f6ec102", "title": "How to Use ATL/MFC CString at the Windows API Boundaries", "url": "https://giodicanio.com/2024/05/29/how-to-use-atl-mfc-cstring-at-the-windows-api-boundaries/", "published_at": "2024-05-29T18:43:04+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca486ffb4989", "title": "Comparing Different Methods for Accessing Raw Character Buffers in Strings vs. String Views", "url": "https://giodicanio.com/2024/05/15/comparing-different-methods-for-accessing-raw-character-buffers-in-strings-vs-string-views/", "published_at": "2024-05-15T09:18:30+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca4870d87e9a", "title": "Axialis Fluent System 2023 Icons Discount", "url": "https://giodicanio.com/2024/05/15/axialis-fluent-system-2023-icons-discount/", "published_at": "2024-05-15T08:32:28+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca4871d3adce", "title": "Why Don’t You Use String Views (as std::wstring_view) Instead of Passing std::wstring by const&?", "url": "https://giodicanio.com/2024/05/14/why-dont-you-use-string-views-like-std-wstring_view-instead-of-passing-std-wstring-by-const-reference/", "published_at": "2024-05-14T18:10:33+00:00" }, { "id": "01a0c51d-965a-72a7-ae4b-ca4871f0b700", "title": "Happy Anniversary: One Year of Blogging", "url": "https://giodicanio.com/2024/04/23/happy-anniversary-one-year-of-blogging/", "published_at": "2024-04-23T18:08:36+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed5209aacd7", "title": "Embedding (and Extracting) Binary Files like DLLs into an EXE as Resources", "url": "https://giodicanio.com/2024/03/25/embedding-and-extracting-binary-files-like-dlls-into-an-exe-as-resources/", "published_at": "2024-03-25T20:05:03+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed52113c310", "title": "Unicode Conversions with String Views as Input Parameters", "url": "https://giodicanio.com/2024/03/05/unicode-conversions-with-string-views-as-input-parameters/", "published_at": "2024-03-05T19:26:29+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed52131be5b", "title": "Simplifying Windows Registry Programming with the C++ WinReg Library", "url": "https://giodicanio.com/2024/03/05/simplifying-windows-registry-programming-with-the-c-plus-plus-winreg-library/", "published_at": "2024-03-05T02:22:38+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed522075177", "title": "Decoding Windows SDK Types: PSTR and PCSTR", "url": "https://giodicanio.com/2024/03/04/decoding-windows-sdk-types-pstr-and-pcstr/", "published_at": "2024-03-04T17:53:01+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed5226f4210", "title": "How Can You Pass STL Strings as PWSTR Parameters at the Windows API Boundaries?", "url": "https://giodicanio.com/2024/02/27/how-can-you-pass-stl-strings-as-pwstr-parameters-at-the-windows-api-boundaries/", "published_at": "2024-02-27T19:11:04+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed522915c2d", "title": "How Can You Pass STL Strings as PCWSTR Parameters at the Windows API Boundaries?", "url": "https://giodicanio.com/2024/02/26/how-can-you-pass-stl-strings-as-pcwstr-parameters-at-the-windows-api-boundaries/", "published_at": "2024-02-26T18:35:23+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed523025f76", "title": "Decoding Windows SDK Types: PWSTR", "url": "https://giodicanio.com/2024/02/21/decoding-windows-sdk-types-pwstr/", "published_at": "2024-02-21T17:49:10+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed523c3334c", "title": "Decoding Windows SDK Types: PCWSTR", "url": "https://giodicanio.com/2024/02/19/decoding-windows-sdk-types-pcwstr/", "published_at": "2024-02-19T19:34:12+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed524a328dc", "title": "Pluralsight Limited-time Offer: Save Up to 50% on Individual Plans", "url": "https://giodicanio.com/2024/02/02/pluralsight-limited-time-offer-save-up-to-50-on-individual-plans/", "published_at": "2024-02-02T19:24:51+00:00" }, { "id": "01a0c528-a837-700a-84cf-4ed5259e4ebd", "title": "50 Posts!", "url": "https://giodicanio.com/2024/01/25/50-posts/", "published_at": "2024-01-25T18:12:04+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfdbd02a5c", "title": "Visual Studio 2019 and [[nodiscard]] in its Default C++14 Mode", "url": "https://giodicanio.com/2024/01/25/visual-studio-c-plus-plus-2019-and-nodiscard-in-its-default-c-plus-plus-14-mode/", "published_at": "2024-01-25T18:01:14+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfdbf1896c", "title": "Where to Apply [[nodiscard]]?", "url": "https://giodicanio.com/2024/01/25/where-to-apply-nodiscard/", "published_at": "2024-01-25T12:45:14+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfdc5a19d4", "title": "To [[nodiscard]] or Not [[nodiscard]] by Default?", "url": "https://giodicanio.com/2024/01/24/to-nodiscard-or-not-nodiscard-by-default/", "published_at": "2024-01-24T16:54:16+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfdd14ea05", "title": "How to Set VC++ Warning Level 4 in Visual Studio", "url": "https://giodicanio.com/2024/01/23/how-to-set-visual-c-plus-plus-warning-level-4-in-visual-studio/", "published_at": "2024-01-23T17:15:02+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfdd9a1066", "title": "How to Access std::vector’s Internal Array", "url": "https://giodicanio.com/2024/01/23/how-to-access-std-vector-internal-array/", "published_at": "2024-01-23T11:53:16+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfddcb0410", "title": "Subtle C++ Compiler Error with std::optional and the Conditional Operator", "url": "https://giodicanio.com/2024/01/12/subtle-c-plus-plus-compiler-error-with-std-optional-and-the-conditional-operator/", "published_at": "2024-01-12T18:26:52+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfde943df1", "title": "50% Off Gift of Pluralsight", "url": "https://giodicanio.com/2023/12/15/50-off-gift-of-pluralsight/", "published_at": "2023-12-15T17:52:04+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfdf85a73b", "title": "How to Get the “Size” of a std::vector?", "url": "https://giodicanio.com/2023/12/15/how-to-get-the-size-of-a-std-vector/", "published_at": "2023-12-15T17:33:38+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfe019bd3b", "title": "How to Load CString from Resources", "url": "https://giodicanio.com/2023/12/14/how-to-load-cstring-from-resources/", "published_at": "2023-12-14T17:00:00+00:00" }, { "id": "01a0c533-b14d-70a7-ad86-e9cfe04843c6", "title": "How to Load std::wstring from Resources", "url": "https://giodicanio.com/2023/12/12/how-to-load-std-wstring-from-string-resources/", "published_at": "2023-12-12T17:00:00+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28ae9b075aeb", "title": "CString or std::string? That Is The Question (2023 Revisited)", "url": "https://giodicanio.com/2023/12/06/cstring-or-std-string-that-is-the-question-2023-revisited/", "published_at": "2023-12-06T17:07:07+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28ae9bfd1b93", "title": "C++ String Benchmark: STL vs. ATL vs. Custom Pool Allocator", "url": "https://giodicanio.com/2023/12/01/c-plus-plus-string-benchmark-stl-vs-atl-vs-custom-pool-allocator/", "published_at": "2023-12-01T19:41:21+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28ae9ccb67a8", "title": "How to Prevent Integer Overflows in C++?", "url": "https://giodicanio.com/2023/11/23/how-to-prevent-integer-overflows-in-c-plus-plus/", "published_at": "2023-11-23T15:30:00+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28ae9d028cf8", "title": "Pluralsight’s Black Friday – 50% OFF (11/21-12/5)", "url": "https://giodicanio.com/2023/11/21/pluralsight-50-off-11-21-12-5/", "published_at": "2023-11-21T11:56:11+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28ae9db39df8", "title": "C++ Mystery Revealed: Why Do I Get a Negative Integer When Adding Two Positive Integers?", "url": "https://giodicanio.com/2023/11/21/c-plus-plus-mystery-revealed-why-do-i-get-a-negative-integer-when-adding-two-positive-integers/", "published_at": "2023-11-21T11:55:11+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28ae9e9c6be7", "title": "How to Make SafeInt Compatible with Windows Platform SDK Headers", "url": "https://giodicanio.com/2023/11/16/how-to-make-safeint-compatible-with-windows-platform-sdk-headers/", "published_at": "2023-11-16T18:11:07+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28ae9f760d92", "title": "Protecting Your C++ Code Against Integer Overflow Made Easy by SafeInt", "url": "https://giodicanio.com/2023/11/13/protecting-your-c-plus-plus-code-against-integer-overflow-made-easy-by-safeint/", "published_at": "2023-11-13T12:01:45+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28ae9fa0e986", "title": "Suggestion Box", "url": "https://giodicanio.com/2023/11/09/suggestion-box/", "published_at": "2023-11-09T00:25:26+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28aea08d84db", "title": "Protecting Your C++ Code Against Unsigned Integer “Overflow”", "url": "https://giodicanio.com/2023/11/08/protecting-your-c-plus-plus-code-against-unsigned-integer-overflow/", "published_at": "2023-11-08T15:00:00+00:00" }, { "id": "01a0c53e-3424-73fd-bb79-28aea0e0006a", "title": "Beware of Integer Overflows in Your C++ Code", "url": "https://giodicanio.com/2023/11/06/beware-of-signed-integer-overflows-in-your-c-plus-plus-code/", "published_at": "2023-11-06T17:15:46+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c6855f7b3", "title": "Safe Narrowing Conversion Support in the GSL", "url": "https://giodicanio.com/2023/11/03/safe-narrowing-conversion-support-in-the-gsl/", "published_at": "2023-11-03T18:23:32+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c692b5464", "title": "Axialis Icons Limited-time Offer", "url": "https://giodicanio.com/2023/10/28/axialis-icons-limited-time-offer/", "published_at": "2023-10-28T18:25:10+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c69abdc75", "title": "How to Convert from Japanese EUC (EUC-JP) to Unicode?", "url": "https://giodicanio.com/2023/10/25/how-to-convert-from-japanese-euc-euc-jp-to-unicode/", "published_at": "2023-10-25T16:44:07+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c6a83548d", "title": "How to Convert Between ATL/MFC’s CString and std::wstring", "url": "https://giodicanio.com/2023/10/24/how-to-convert-between-atl-mfc-cstring-and-std-wstring/", "published_at": "2023-10-24T17:14:26+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c6abe1138", "title": "Google C++ Style Guide on Unsigned Integers", "url": "https://giodicanio.com/2023/10/22/google-c-style-guide-on-unsigned-integers/", "published_at": "2023-10-22T18:43:12+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c6b3e2afe", "title": "Converting Between Unicode UTF-16 CString and UTF-8 std::string", "url": "https://giodicanio.com/2023/10/20/converting-between-unicode-utf-16-cstring-and-utf-8-stdstring/", "published_at": "2023-10-20T17:26:09+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c6bcbd1e3", "title": "Beware of Unsafe Conversions from size_t to int", "url": "https://giodicanio.com/2023/10/20/beware-of-unsafe-conversions-from-size_t-to-int/", "published_at": "2023-10-19T23:54:17+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c6bebb56b", "title": "How Do I Convert Between Japanese Shift JIS and Unicode UTF-8/UTF-16?", "url": "https://giodicanio.com/2023/10/06/how-do-i-convert-between-japanese-shift-jis-and-unicode-utf-8-utf-16/", "published_at": "2023-10-06T17:12:00+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c6c819a3c", "title": "Converting Between Unicode UTF-16 and UTF-8 Using C++ Standard Library’s Strings and Direct Win32 API Calls", "url": "https://giodicanio.com/2023/10/03/converting-between-unicode-utf-16-and-utf-8-using-c-plus-plus-standard-library-strings-and-direct-win32-api-calls/", "published_at": "2023-10-03T17:06:10+00:00" }, { "id": "01a0c546-a46e-7232-b485-0d9c6d07d843", "title": "Converting Between Unicode UTF-16 and UTF-8 Using ATL CString and Direct Win32 API Calls", "url": "https://giodicanio.com/2023/09/27/converting-between-unicode-utf-16-and-utf-8-using-atl-cstring-and-direct-win32-api-calls/", "published_at": "2023-09-27T18:03:57+00:00" }, { "id": "01a0c54f-63a9-72bc-bc0c-39d6e3aa2de4", "title": "Converting Between Unicode UTF-16 and UTF-8 Using ATL Helpers", "url": "https://giodicanio.com/2023/09/25/converting-between-unicode-utf-16-and-utf-8-using-atl-helpers/", "published_at": "2023-09-25T18:00:17+00:00" }, { "id": "01a0c54f-63aa-7139-831f-ab70bb95a6cb", "title": "Pluralsight 60% Off – Limited Time Offer (Until Sep 30th)", "url": "https://giodicanio.com/2023/09/22/pluralsight-60-percent-off-limited-time-offer-until-september-30th/", "published_at": "2023-09-22T18:06:17+00:00" }, { "id": "01a0c54f-63aa-7139-831f-ab70bc7a6362", "title": "Are wchar_t and std::wstring Really Portable in C++?", "url": "https://giodicanio.com/2023/06/27/are-wchar_t-and-std-wstring-really-portable-in-c-plus-plus/", "published_at": "2023-06-27T17:24:54+00:00" }, { "id": "01a0c54f-63aa-7139-831f-ab70bcdcc0e3", "title": "Code Reviewing ChatGPT’s std::map C++ code", "url": "https://giodicanio.com/2023/06/19/code-reviewing-chatgpt-std-map-c-plus-plus-code/", "published_at": "2023-06-19T11:57:17+00:00" }, { "id": "01a0c54f-63aa-7139-831f-ab70bdb2a3c6", "title": "Optimizing C++ Code with O(1) Operations", "url": "https://giodicanio.com/2023/06/06/optimizing-c-plus-plus-code-with-big-o-1-operations/", "published_at": "2023-06-06T18:59:41+00:00" }, { "id": "01a0c54f-63aa-7139-831f-ab70bdfdfa00", "title": "Pluralsight 50% Off Sale – Limited Time Offer (6/6-6/12)", "url": "https://giodicanio.com/2023/06/06/pluralsight-50-off-sale-limited-time-offer-until-june-12/", "published_at": "2023-06-06T17:14:44+00:00" }, { "id": "01a0c54f-63aa-7139-831f-ab70bebbbac8", "title": "Adventures with C++ string_view: Interop with ATL/MFC CString", "url": "https://giodicanio.com/2023/06/06/how-to-pass-atl-mfc-cstring-to-std-string_view-parameters/", "published_at": "2023-06-06T16:57:35+00:00" }, { "id": "01a0c54f-63aa-7139-831f-ab70bedd7a7f", "title": "How to Print Unicode Text to the Windows Console in C++", "url": "https://giodicanio.com/2023/06/01/how-to-print-unicode-text-to-the-windows-console-in-c-plus-plus/", "published_at": "2023-06-01T18:34:10+00:00" }, { "id": "01a0c54f-63aa-7139-831f-ab70bf26b56e", "title": "Introduction to Data Structures and Algorithms in C++", "url": "https://giodicanio.com/2023/05/24/introduction-to-data-structures-and-algorithms-in-c-plus-plus/", "published_at": "2023-05-24T15:14:51+00:00" }, { "id": "01a0c54f-63aa-7139-831f-ab70bf4bd2db", "title": "The Windows Kernel-mode UNICODE_STRING Structure", "url": "https://giodicanio.com/2023/05/23/windows-kernel-mode-unicode_string-structure/", "published_at": "2023-05-23T18:30:41+00:00" }, { "id": "01a0c557-9cf2-701b-b2b2-bfe35c9a52f2", "title": "Pluralsight 50% Off Sale Extended Until 5/22", "url": "https://giodicanio.com/2023/05/19/pluralsight-50-off-sale-extended-until-5-22/", "published_at": "2023-05-19T16:47:06+00:00" }, { "id": "01a0c557-9cf3-719b-8026-ad825ed4c65f", "title": "Properly Passing a C++ Standard String as an Input BSTR String Parameter", "url": "https://giodicanio.com/2023/05/19/properly-passing-a-c-plus-plus-standard-string-as-an-input-bstr-string-parameter/", "published_at": "2023-05-19T16:30:26+00:00" }, { "id": "01a0c557-9cf3-719b-8026-ad825fbd008a", "title": "The Case of the Two Billion Characters Long String", "url": "https://giodicanio.com/2023/05/18/bstr-bug-the-case-of-the-two-billion-characters-long-string/", "published_at": "2023-05-18T15:33:02+00:00" }, { "id": "01a0c557-9cf3-719b-8026-ad825fe115e0", "title": "Platform-specific Strings: An Introduction to BSTR Strings", "url": "https://giodicanio.com/2023/05/12/intro-to-bstr/", "published_at": "2023-05-12T10:41:32+00:00" }, { "id": "01a0c557-9cf3-719b-8026-ad82601b84fb", "title": "The Case of string_view and the Magic String", "url": "https://giodicanio.com/2023/05/09/string_view-bug-the-case-of-string_view-and-the-magic-string/", "published_at": "2023-05-09T15:54:27+00:00" }, { "id": "01a0c557-9cf3-719b-8026-ad8260cbe3f5", "title": "Keeping on Enumerating C++ String Options: The String Views", "url": "https://giodicanio.com/2023/05/03/intro-cpp-string-view/", "published_at": "2023-05-03T16:04:02+00:00" }, { "id": "01a0c557-9cf3-719b-8026-ad82615ce400", "title": "How Many Strings Does C++ Have?", "url": "https://giodicanio.com/2023/04/28/how-many-strings-does-cpp-have/", "published_at": "2023-04-28T16:38:08+00:00" }, { "id": "01a0c557-9cf3-719b-8026-ad82616baa74", "title": "The C++ Small String Optimization", "url": "https://giodicanio.com/2023/04/26/cpp-small-string-optimization/", "published_at": "2023-04-26T12:07:05+00:00" }, { "id": "01a0c557-9cf3-719b-8026-ad8261af477f", "title": "Pluralsight FREE Week!", "url": "https://giodicanio.com/2023/04/26/pluralsight-free-week/", "published_at": "2023-04-26T11:06:48+00:00" }, { "id": "01a0c557-9cf3-719b-8026-ad8261b01026", "title": "Hello World!", "url": "https://giodicanio.com/2023/04/20/hello-world/", "published_at": "2023-04-20T17:42:14+00:00" } ] posts Claim your blog
Back to Giovanni Dicanio's Blog – Giovanni Dicanio's Programming Corner on the Internet
Blog · corpus.blog/blogs/giodicanio.com/posts

Giovanni Dicanio's Blog – Giovanni Dicanio's Programming Corner on the Internet

giodicanio.com

2026

2025

2024

2023