我有一个方法,它的参数是对字符串的引用,在该方法中,我想将此引用的字符串与另一个字符串进行比较,该字符串是称为事务的对象的一部分,有一个事务数组。两个原始字符串都是 std::strings,我尝试使用 == 运算符,但即使两个字符串相同,这似乎也不会返回 true。也许它比较字符串的地址。
这是我现在拥有的:
int Analyser::numSharesBoughtOf(string& stockSymbol)
{
// Your code
int Total=0;
for (int tranNum(0); tranNum<numOfTranactions; tranNum++)
{
if (stockSymbol == Transactions[tranNum].stockSymbol)
{
Total = Total + Transactions[tranNum].numShares;
}
}
if (Total > 0)
{
return Total;
}
else
{
return 0;
}
}
Transactions 也是一个指向事务数组开始的指针,封装这有什么不同。编辑:感谢您的所有回复,事实证明我在股票代码中输入了错误的名称......此方法与使用 john.pavan 发布的 .compare 答案一样有效。不知道我以前是怎么没有注意到这一点的,因为我使用的是 Visual Studios 调试控制台,我猜这是一件好事,因为我实际上并不负责为股票经纪人编写代码,哈哈