如果我有一个std :: vector的东西(比方说,std :: vector :: clear()会调用内容的析构函数吗?例如,如果我有一个数据作为向量,下面的代码是否有效?
char * pd;
for(vector<char *>::iterator it = data.begin(); it != data.end(); ++it) {
pd = *it;
delete pd;
}
Run Code Online (Sandbox Code Playgroud)
或者,它是多余的,因为data.clear()会这样做?我认为不是,即需要手动重新分配内容.我认为,data.clear()不会为内容调用隐式析构函数?这是对的吗?这适用于预C++ 11.
我有一个使用Oracle Pro C预编译器的多线程(posix线程或基于pthread)的C应用程序.该应用程序使用全局sqlca结构.在一个.c文件中,它包含用于Oracle数据库访问的全局sqlca结构定义:
#include <sqlca.h>
Run Code Online (Sandbox Code Playgroud)
在所有其他的c文件中,它使用如下:
#define SQLCA_STORAGE_CLASS extern
#include <sqlca.h>
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果多个线程试图访问数据库表进行查询,插入或更新并使用全局sqlca对象,我如何保证互斥或使其成为线程安全访问?另外,当我查询vs插入/更新时,他们都使用sqlca结构吗?
我有以下程序来测试Python中的输入重定向.
a = int(raw_input("Enter a number: "))
b = raw_input("Enter a string: ")
print "number entered = ", a
print "string entered = ", b
Run Code Online (Sandbox Code Playgroud)
如果我在没有重定向的情况下运行该程序,输入和输出如下所示:
Enter a number: 100
Enter a string: sample
number entered = 100
string entered = sample
Run Code Online (Sandbox Code Playgroud)
现在,为了测试输入重定向,我有一个名为a.txt的文件包含:
100
sample
Run Code Online (Sandbox Code Playgroud)
但是,当我使用从a.txt重定向的输入(如下所示)运行时,我的输入和输出会出现乱码.
python doubt02.py < a.txt
Enter a number: Enter a string: number entered = 100
string entered = sample
Run Code Online (Sandbox Code Playgroud)
请建议我是否有更好的选择(使用输入重定向),如下所示:
Enter a number: 100
Enter a string: sample
number entered = 100
string entered = …Run Code Online (Sandbox Code Playgroud) 我使用gcov为项目中的几个文件设置了C / C ++代码覆盖率。可执行文件正在并行运行。这导致一些共享的代码并行运行。
我正在损坏的.da文件或大小为零的.da文件。并行运行是否有问题?
因为两个或多个可执行实例正尝试在同一个.da文件中写入内容,以便为执行中的每个语句写入覆盖率计数?
如果是这样,是否有任何解决方法?
使用的Gcov版本是1.5
时间结构 (struct tm) 包含分解为各个组成部分的日历日期和时间。该结构包含 9 个 int 类型的成员(任意顺序),它们是:
Member Type Meaning Range
tm_sec int seconds after the minute 0-61*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
Run Code Online (Sandbox Code Playgroud)
如果夏令时有效,则夏令时标志 (tm_isdst) 大于零;如果夏令时无效,则夏令时标志 (tm_isdst) 为零;如果信息不可用,则夏令时标志 (tm_isdst) 小于零。
我与 tm_isdst 相关的具体问题如下:
对于日期(YYYY-MM-DD) …
是std::vector::begin()从先前C++11等效到std::vector::data()C++ 11?我问这个的原因,早于C++ 11,我曾经把std :: vector :: begin()当作指针,但是在C++ 11之后,它不是,我不能转换为等效的指针.那么,我可以在C++ 11之后使用data()吗?
我有一个矢量std :: vector.我想迭代向量找到匹配,如果找到想要返回指向元素的指针,如下所示:
const int * findint(std::vector <int> &v, int a)
{
std::vector<int>::const_iterator i1,i2;
i1 = v.begin();
i2 = v.end();
for(;i1 != i2;++i1) {
if(a== *i1) {
return(i1);
}
}
return(0);
}
Run Code Online (Sandbox Code Playgroud)
这是使用GNU g ++ 2.95.3编译器进行编译和工作正常但不能使用GNU g ++ 4.9.2进行编译并给出以下错误:
error: cannot convert 'std::vector<GenFld>::const_iterator {aka __gnu_cxx::__normal_iterator<const int*, std::vector<int> >}' to 'const int*' in return
[exec] return(i1);
Run Code Online (Sandbox Code Playgroud)
需要帮忙.
我有一些遗留的C++代码(用于使用GNU g ++ 2.95.3进行编译)具有以下声明 std::basic_string<char,string_char_traits<char>,malloc_alloc> x;
头文件是
#include <std/bastring.h>
Run Code Online (Sandbox Code Playgroud)
现在,我迁移到GU G ++ 4.9在那里我得到这个错误:1,std/bastring.h未发现2.当我改变的#include <std/bastring.h>因为#include <string>,我发现了以下错误:
error: 'string_char_traits' was not declared in this scope
std::basic_string<char,string_char_traits<char>,malloc_alloc> x;
error: template argument 2 is invalid
std::basic_string<char,string_char_traits<char>,malloc_alloc> x;
error: expected unqualified-id before ',' token
std::basic_string<char,string_char_traits<char>,malloc_alloc> x;
^
Run Code Online (Sandbox Code Playgroud)
在GNU g ++ 4.9下需要指导/帮助才能使这个可编辑
我创建了一个 Oracle 序列,如下所示:
CREATE SEQUENCE TASK_ID_SEQ START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
Run Code Online (Sandbox Code Playgroud)
我有一个数据库表TASK如下:
TASK_ID nextval from TASK_ID_SEQ
TASK_DATE SYSDATE
TASK_TYPE <value fed from data>
Run Code Online (Sandbox Code Playgroud)
TASK如果中的日期TASK_TYPE尚未出现在表中,我需要插入一条新记录,否则忽略它。TASKTASK_DATE
下面的语法正确吗?
MERGE INTO TASK a
USING (SELECT b.task_date FROM TASK b)
ON (a.task_type = b.task_type)
WHEN NOT MATCHED THEN
[INSERT INTO TASK]
Run Code Online (Sandbox Code Playgroud)
或者应该是这样:
MERGE INTO TASK a
USING (SELECT b.task_date FROM TASK b)
ON (a.task_type = b.task_type)
WHEN MATCHED THEN
[]
WHEN MATCHED THEN
[INSERT INTO …Run Code Online (Sandbox Code Playgroud) 我已经在我的 Windows 10 64 位系统上安装了Memurai。Memurai 是在 Windows 上运行的与 Redis 兼容的内存缓存和持久数据存储。我按照安装步骤中给出的步骤操作。Memurai 可以在初始设置期间作为 Windows 服务安装,或者稍后使用命令行选项安装。如何在 Windows 上使用 Memurai 创建一些基本应用程序来品尝水。我可以编写一些简单的 Java 应用程序来将 Memurai 用作 set-get 存储并测试其他功能吗?需要一些指导和指点。
与作为客户端的Redis工作的Jedis类似,是否有任何这样的客户端API可用于作为独立服务器作为单个实例进行测试,或者通过一些连接池或连接集群,其中每个集群可能有一个或多个连接池来做负载平衡? 一些示例代码、教程将有助于使用 Java。