随笔 - 493  文章 - 0  评论 - 97  阅读 - 239万

[VC++]CComBSTR数据类型比较

// dd.cpp : 定义控制台应用程序的入口点。
//
 
#include "stdafx.h"
#include <iostream>
#include <atlbase.h>
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    CComBSTR bVal("1.0");
    if(bVal != L"1.0")
        cout<<"no"<<endl;
    else
        cout<<"yes"<<endl;
 
    return 0;
}

上面是vc++.net2005上的一个win32控制台程序,在程序运行时,进入了else。

但是上面的代码在vc6中,运行的时候却是进入了if。

这是为什么呢?

因为在vc6中对于CComBSTR没有!=的重载,但是在vc2005中却有它的重载。所以猜测在vc6中比较的可能是地址!

posted on   清清飞扬  阅读(1702)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
< 2011年4月 >
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
1 2 3 4 5 6 7

点击右上角即可分享
微信分享提示