通常我会期待一种String.contains()
方法,但似乎没有一种方法.
检查这个的合理方法是什么?
我很难看到函数指针的实用程序.我想它在某些情况下可能是有用的(毕竟它们存在),但我想不出使用函数指针更好或不可避免的情况.
你能举出一些好用函数指针的例子(在C或C++中)吗?
我有一个看起来如下的向量:
class Foo
{
//whatever
};
class MyClass
{
int myInt;
vector<Foo> foo_v;
};
Run Code Online (Sandbox Code Playgroud)
让我们说,在main
:
int main (void)
{
vector<MyClass> myClass_v;
}
Run Code Online (Sandbox Code Playgroud)
我想找到一个对象myClass_v
有myInt == bar
.我不在乎foo_v
.我想过使用这个std::find_if
功能:
std::find_if(myClass_v.begin(),myClass_v.end(),condition);
Run Code Online (Sandbox Code Playgroud)
同
bool MyClass::condition(MyClass mc)
{
if(mc.myInt==5)
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
然而,编译器说这condition()
是缺少参数.你能告诉我我做错了什么吗?我认为这std::find_if
会叫condition(*First)
,有First
是一个指向myClass
对象.
或者还有另一种做同样事情的好方法吗?
我需要从Delphi软件执行Windows"find"命令.我试图使用该ShellExecute
命令,但它似乎不起作用.在C中,我会使用该system
程序,但在这里...我不知道.我想做这样的事情:
System('find "320" in.txt > out.txt');
Run Code Online (Sandbox Code Playgroud)
编辑:谢谢你的答案:)我试图运行'查找'作为可执行文件,而不是作为cmd.exe的参数.
换句话说,这样做
index = &array[x] - &array[0];
Run Code Online (Sandbox Code Playgroud)
是否始终保证(根据C标准)&array [0] <=&array [x],还是依赖于编译器?与此主题相关的C标准章节是什么?
我必须在我的工作中使用很多特定的变量(比如T_ULONG或T_SWORD),我希望它们显示为变量(蓝色或其他).整个代码片段都是黑白相当令人讨厌......我看到VS有很多主题,但这些都不能解决我的问题......
有线索吗?无论如何感谢阅读:)
我目前有内联函数调用另一个内联函数(一个简单的4行大getAbs()
函数).但是,我通过查看汇编代码发现"大"内联函数内联良好,但编译器使用bl
跳转来调用getAbs()
函数.
是不是可以在另一个内联函数中内联函数?顺便说一下,这是嵌入式代码,我们不使用标准库.
编辑:编译器是WindRiver,我已经检查过内联是否有益(4条指令而不是+ -40).
我想知道是否有办法知道链接是否已经打开.在firefox中,一旦你点击它就会改变链接的颜色,所以我想这是可能的.
编辑:这是一个firefox扩展,所以我无法更改HTML或CSS文件.
谢谢 :)
我找到了将十六进制字符串转换为signed int
using 的代码strtol
,但找不到短整数(2个字节)的内容。这是我的代码:
while (!sCurrentFile.eof() )
{
getline (sCurrentFile,currentString);
sOutputFile<<strtol(currentString.c_str(),NULL,16)<<endl;
}
Run Code Online (Sandbox Code Playgroud)
我的想法是读取一个具有2个字节宽的值的文件(如0xFFEE),将其转换为带符号的int并将结果写入输出文件中。执行速度不是问题。
我可以找到一些避免该问题的方法,但是我想使用“单行”解决方案,所以也许您可以为此提供帮助:)
编辑:文件看起来像这样:
while (!sCurrentFile.eof() )
{
getline (sCurrentFile,currentString);
sOutputFile<<strtol(currentString.c_str(),NULL,16)<<endl;
}
Run Code Online (Sandbox Code Playgroud)
编辑:我已经尝试了十六进制运算符,但这样做之前我仍然必须将字符串转换为整数。
// This won't work as currentString is not an integer
myInt << std::hex << currentString.c_str();
Run Code Online (Sandbox Code Playgroud) c ×4
c++ ×3
function ×2
javascript ×2
string ×2
arrays ×1
c++-faq ×1
color-scheme ×1
command-line ×1
css ×1
delphi ×1
hex ×1
hyperlink ×1
inline ×1
int ×1
pointers ×1
shellexecute ×1
short ×1
substring ×1
vector ×1