小编dde*_*nne的帖子

标量“新T”与数组“新T [1]”

我们最近发现有些代码正在new T[1]系统地使用(正确匹配delete[]),我想知道这是否无害,或者所生成的代码在空间或时间/性能方面存在一些缺点。当然,这被隐藏在函数和宏的层后面,但这不重要。

从逻辑上讲,在我看来两者都是相似的,但是对吗?

是否允许编译器将此代码(使用文字1,而不是变量,而是通过函数层,1将其转换为实参变量,然后使用new T[n])转换为参数2或3次,将其转换为标量new T

关于这两者之间的区别还有其他需要考虑的事情吗?

c++ new-operator

38
推荐指数
3
解决办法
1432
查看次数

如何使用x'abc'二进制字符串文字语法显示blob值?

您可以使用x'abc'语法轻松输入blob值,但有没有办法以这种方式显示它?如下所示,直接选择或使用串联隐式转换为字符串不起作用,并显示垃圾(此处为Windows DOS提示符).

sqlite> create table blobs (uid blob);
sqlite> insert into blobs values (x'0123456789abcdef0123456789abcdef');
sqlite> select * from blobs;
?#Egë½???#Egë½??
sqlite> select ''||uid from blobs;
?#Egë½???#Egë½??
Run Code Online (Sandbox Code Playgroud)

我想要选择显示:

x'0123456789abcdef0123456789abcdef'
Run Code Online (Sandbox Code Playgroud)

谢谢,--DD

sqlite

27
推荐指数
1
解决办法
2万
查看次数

阻止win32进程崩溃时的模态对话框

我们有一个遗留构建基础架构,用于夜间构建(在Perl中实现),用于编译,链接和单元测试我们的应用程序/插件.在Windows上,如果单元测试过程崩溃,则会弹出一个"锁定"构建场的模态对话框.

是否有一种方法(win32 API调用,系统配置,env var,某些东西......)来禁用此行为以使子进程在崩溃时立即终止,而没有模态对话框和非零退出状态?

谢谢,--DD

PS:我们在Windows上使用SEC(结构化异常处理)进行编译,以便能够使用catch(...)"捕获"崩溃,因此在大多数情况下避免这个问题,但有时这还不够,因为当然有些崩溃不可恢复(例如,如果它们损坏了堆栈).

c++ winapi

6
推荐指数
1
解决办法
1843
查看次数

std :: vector :: resize应该多少次默认构造新元素?

我们的团队遇到了这里描述的相同问题http://forums.codeguru.com/archive/index.php/t-514404.html,即调用some_vec.resize(new_size),其中N = new_size - some_vec.size()N> = 2,VC10默认构建全部N新元素,而GCC默认构造一个单独的元素,作为原型元素,为新元素复制构造N次.

由于这是uuid的向量,其中default-constructor随机初始化每个新实例,我们最终得到N次与GCC相同的uuid和N个与VC不同的uuid.这足以在我们的测试套件中在一个平台上造成严重破坏而不是另一个平台,并且找到它并不好玩.

我的问题是:谁是对的?VC还是GCC?或者这是C++那些心爱的角落之一,这是未指明的?TIA,--DD

c++ stl stdvector

5
推荐指数
1
解决办法
177
查看次数

文件创建时间的 std::filesystem::last_write_time() 等价物在哪里?

我使用std::filesystem::last_write_time了,但现在我还需要的文件的创建时间,似乎没有成为在一个API std::filesystem。我错过了吗?如果没有,怎么没有呢?

我是否必须使用不可移植的代码来提取该创建时间戳?是否助推。文件系统的始祖std::filesystem,有这样的API吗?

c++ filesystems file c++-standard-library c++17

5
推荐指数
1
解决办法
64
查看次数

使用Qt将平面图像转换为漂亮的圆形图像,使用3D高光,一个iPhone

在iPhone上,您可以为应用程序图标提供45x45 平面图像,SDK会自动对其进行舍入和突出显示,从而为其提供新的3D效果.有没有人有关于如何使用Qt4 API模拟这个的示例代码或建议?谢谢,--DD

image-manipulation qt4

2
推荐指数
1
解决办法
1798
查看次数

如何确定哪个 UNIQUE 索引在 Oracle 中强制执行 PRIMARY KEY

给定一个具有两个唯一索引的表,如下所示,如何确定哪个唯一索引对应于 PRIMARY KEY,而不是该表上的其他 UNIQUE 索引?

user_indexes 和 user_ind_columns 似乎没有携带该信息。谢谢,--DD

PS:当然没有明确命名索引并使用命名约定。

SQL> create table tt (id number not null primary key, name varchar2(64 char) not null unique, info varchar2(4000));

SQL> create index tt_idx on tt(info);

SQL> select INDEX_NAME, INDEX_TYPE, UNIQUENESS from user_indexes where TABLE_NAME='TT';

INDEX_NAME           INDEX_TYPE                  UNIQUENES
-------------------- --------------------------- ---------
SYS_C0029541         NORMAL                      UNIQUE
SYS_C0029542         NORMAL                      UNIQUE
TT_IDX               NORMAL                      NONUNIQUE

SQL> select * from user_ind_columns where TABLE_NAME='TT';

INDEX_NAME           TABLE_NAME           COLUMN_NAME  COLUMN_POSITION COLUMN_LENGTH CHAR_LENGTH DESC
-------------------- -------------------- ------------ --------------- ------------- ----------- ----
SYS_C0029541 …
Run Code Online (Sandbox Code Playgroud)

sql oracle

1
推荐指数
2
解决办法
1万
查看次数