根据标题.我不想下载整个Visual C++安装程序,只需要下载"cl.exe"以及在Windows上编译和链接C++程序所需的其他程序.
我有character varying一个表,其中的条目的一些(不是全部)值包含百分比,如'12%','97%'等我想找到所有包含百分比值.换句话说,我想找到所有以百分号('%')结尾的值.
什么是Delphi DCU文件?
我相信它代表"Delphi Compiled Unit".假设它包含目标代码,我是否正确,因此对应于从C/C++源代码文件编译的".o"文件?
我有一个返回表的函数.
如果运行SELECT * FROM some_function(12345)结果是:
object_id | name
----------------
12345 | "B"
Run Code Online (Sandbox Code Playgroud)
如果运行SELECT some_function(12345)结果是:
some_function
-------------
(12345,"B")
Run Code Online (Sandbox Code Playgroud)
问题是我想要原始表单(以便我可以访问单个列值),但让参数some_function()来自表中的列.我可以执行,SELECT some_function(thing_id) FROM things但这会返回:
some_function
-------------
(12345,"B")
(12346,"C")
(12347,"D")
Run Code Online (Sandbox Code Playgroud)
而我想要的回报是:
object_id | name
----------------
12345 | "B"
12346 | "C"
12347 | "D"
Run Code Online (Sandbox Code Playgroud)
那么如何"不必要"或"扩展"这样一个浓缩的行呢?
我有一个简单的调用std::setenv,它在我的Linux发行版下工作正常gcc.但是,clang在我的Mac OS X上使用时,出现以下错误.
error: no member named 'setenv' in namespace 'std'; did you mean simply 'setenv'?
std::setenv(name.c_str(), value.c_str(), true);
Run Code Online (Sandbox Code Playgroud)
我敢肯定,我已经阅读了C++ 11 setenv中名称空间的一部分std,但现在我不确定.
问题:应该使用setenv还是std::setenv使用,为什么会这样?
我有几年前用C++中的旧Win32 API编程的经验,最近我参与了Delphi的开发.我马上就认出了很多从Windows API函数(如CreateThread,CreateWindowEx等,等).
我发现Embarcadero的文档不完整(至少可以说),通常可以参考Microsoft网站获取文档.在哪里,我可以补充一下,所有的功能都是用C语言定义的,这使得那里的非C人很难(但对我来说更容易).
我想知道的是 - 鉴于Delphi函数签名与Microsoft提供的C函数签名相同 - 调用Delphi Windows API函数会立即调用Windows API函数,还是调用相同的Delphi函数然后调用它调用Windows API函数并返回结果,前者意味着与相应的C代码相比没有可区别的性能差异,而后者意味着性能损失?
在CQRS域驱动设计系统中,常见问题解答说传奇不应该查询读取端(http://cqrs.nu).但是,一个saga监听事件以执行命令,并且因为它执行命令,它本质上是一个"客户端",所以为什么saga不能查询读取模型?
来自C++背景,我理解类,指针和内存地址相当不错.然而,对于Delphi,我发现自己很困惑.
我理解当你在var一个函数/过程的部分声明一个特定类型的类的变量时,你真正声明的是该类的指针.例如,以下Delphi和C++大致相同,都分配MyObject了堆上类所需的内存量.
// Delphi
procedure Blah.Something();
var
o: MyObject;
begin
o := MyObject.Create;
o.Free;
end;
// C++
void Blah::Something()
{
MyObject *o = new MyObject();
delete o;
}
Run Code Online (Sandbox Code Playgroud)
在C++中,使用指针(和引用)允许对类层次结构使用虚方法.但是,如果您没有类层次结构,则可以在堆栈上声明一个变量(执行速度更快).如果需要将变量作为指针传递,则只需使用&运算符获取其地址即可.
// C++
void Blah::Something()
{
// This is allocated on the stack.
MyObject o;
// This address of this stack-allocated object is being used.
doSomethingWithAnOhPointer(&o);
}
Run Code Online (Sandbox Code Playgroud)
在这个阶段,我有一些关于Delphi使用类和指针的问题.
o := MyObject.Create在Delphi中使用堆分配创建对象,如何在堆栈上分配对象?o: MyObject实际上是指针,那么为什么^指针符号从未使用过.这是德尔福的"便利"成语吗?你怎么能得到MyObject堆上实际的地址?我试过了:以下.
WriteLogLine('Address of object: ' …Run Code Online (Sandbox Code Playgroud)为了说明,假设我有一个自定义容器而不是std::vector内部使用STL .如果我将typedef std::vector<char*>::iterator改为my_container::iterator,那么取消引用迭代器将返回一个char*.但是,我的自定义容器应该隐藏其内部,这意味着我想要一个解除引用来返回一个char.
如何实现这一目标?
class my_container {
public:
typedef std::vector<char*> vector;
private:
vector vec_;
};
Run Code Online (Sandbox Code Playgroud)
更新: char*是一个例子.它不代表C字符串; 一个例子会更清楚int.
此外,我想使用std::forward_iterator_tag,std::iterator因为这似乎是一个更标准/当前的方法.
c++ ×6
delphi ×3
postgresql ×2
winapi ×2
c ×1
c++11 ×1
class ×1
cmake ×1
compilation ×1
containers ×1
cqrs ×1
dcu ×1
iterator ×1
pointers ×1
sql ×1
sql-like ×1
visual-c++ ×1