小编ezp*_*sso的帖子

C的std :: vector替代品

我想知道在C中是否有替代std :: vector?我发现了这个实现,但似乎包含内存重新分配的一些问题.

c arrays stl stdvector

12
推荐指数
2
解决办法
4483
查看次数

用于散列8-16字节字符串的非常快速的散列函数

我需要一个非常快速的字符串散列函数,它非常适合用PHP编写的Web应用程序.

我想要克服的问题是为访问控制系统中的权限分配ID.我正在考虑使用散列字符串来表示权限ID.这样我就可以像这样检查权限:

if ($Auth->isAllowed($user, "blog.comment")) {
    // Do some operation
}
...

if ($Auth->isAllowed($user, "profile.avatar.change")) {
    // Do some other operation
}
Run Code Online (Sandbox Code Playgroud)

DB表将权限哈希映射到用户的角色.要检查是否允许用户执行"profile.avatar.change",将对数据库表进行哈希处理并检查相应的字符串.

这非常方便,无需担心在不同模块之间维护唯一的权限ID.但散列函数应该非常有效.

php string permissions hash access-control

12
推荐指数
1
解决办法
1676
查看次数

std :: string :: c_str()是否总是返回以null结尾的字符串?

可能重复:
字符串c_str()与data()

strncpy(dest, src_string, 32)用来转换std::stringchar[32]使我的C++类与遗留的C代码一起使用.但是std :: string的c_str()方法总是返回一个以null结尾的字符串吗?

c++ string

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

将ISO C++类公开给VB6应用程序

我开发了一个C++类来访问USB上的软件保护加密狗.C++类是用Linux下的g ++开发的,但我可以在Windows下使用MinGW成功编译它.我有一个用VB6(Visual Basic 6)构建的科学应用程序.

问题是如何将我的C++类暴露给VB6应用程序?有什么可能的方法呢?我需要使用COM吗?(好吧,"微软少"的解决方案更可取:)

非常感谢您的帮助!

更新1.阅读您的注释我意识到我需要为C++类实现一个COM包装器.周围有什么好的和最近的例子吗?我可以使用MinGW(并避免MSVC)实现COM包装器吗?

更新2.最后,我决定为这个问题提供赏金.以下是我想要更好理解的内容:

1.我意识到我需要为我的C++类实现一个COM包装器.有人可以请我提供一个工作示例,说明如何为这样的课程:

class ValueMapper
{
public:
    ValueMapper( ) { }

    ValueMapper( double fmin, double fmax, int ilength ) {
        SetMapping( fmin, fmax, ilength );
    }

    inline double GetMin() { return min; }
    inline double GetMax() { return max; }
    inline int GetLength() { return length; }

    virtual inline void SetMapping( double fmin, double fmax, int ilength )
    {
        min = fmin;
        max = fmax;
        length = ilength;
    }

    virtual inline …
Run Code Online (Sandbox Code Playgroud)

c++ vb6 com class

9
推荐指数
2
解决办法
802
查看次数

如何在C++中将字节数组转换为十六进制字符串?

我正在寻找一种将任意长度的字节数组转换为十六进制字符串的最快方法.StackOverflow for C#已经完全回答这个问题.可以在这里找到C++中的一些解决方案.

是否存在问题的"交钥匙"或"现成"解决方案?欢迎使用C风格的解决方案.

c++ string hex byte

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

在实现IDisposable时处理构造函数中的异常

我读过IDisposable如果我的类有一个本身就是IDisposable的成员变量,我需要实现.好吧,我正在实现IDisposable接口,因为我的类包含一个数据库对象(db下面的类成员),它本身就是IDisposable:

    public class CommissionModel : IDisposable
    {
        protected PetaPoco.Database db;

        public CommissionModel()
        {
            string connectionString = "Server=localhost;...";

            // The line below may throw an exception (!!!)
            db = new PetaPoco.Database(connectionString, "mysql");              
        }

        // Automatically close database connection
        public void Dispose()
        {
            if (db != null)
                db.Dispose();

            db = null;
        }

        public void InsertRecord(Record somerecord)
        {
            // ...
            db.Insert(somerecord);
        }
Run Code Online (Sandbox Code Playgroud)

问题是db成员的实例化在某些情况下可能会失败.在构造函数中抛出异常并且未创建数据库对象时,我该怎么办?我应该重新抛出异常还是检查是否db != null在InsertRecord方法中?

c# idisposable

8
推荐指数
1
解决办法
1094
查看次数

QMainWindow和包含的小部件之间的填充

我正在尝试增加QMainWidget中包含的小部件和QMainWidget边缘之间的填充.您可以在下图中看到问题:

边缘之间的填充

QTabWidget(它是QMainWidget的中心小部件)和主窗口的左边缘之间没有填充.此外,QDockWidgets与主窗口的右边缘之间没有填充.

我尝试使用QSS样式表增加填充:

QMainWindow {
    padding: 10px;
    margin: 10px;
    border: 5px solid red;
}
Run Code Online (Sandbox Code Playgroud)

但得到了一些非常意外的结果:

出乎意料的结果

我尝试调用setContentsMargins方法,但它实际上改变了中心小部件周围的边距,正如方法的名称所示.

如何在QMainWindow和包含的小部件之间增加填充?有没有办法用QSS改变它?

c++ qt qmainwindow qt5 qtstylesheets

7
推荐指数
1
解决办法
944
查看次数

VB6:以像素为单位获取图像大小

我在表格上放了一个图片框,上面加了一些图片:

View1.Picture = LoadPicture(App.Path & "\sample2.bmp")
Run Code Online (Sandbox Code Playgroud)

当我试图获取Picture属性的宽度和高度时,我收到的值不是像素也不是缇.有人知道如何在Visual Basic 6中确定图像的大小(以像素为单位)吗?

vb6

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

G ++错误:'<anonymous>'的类型不完整

我被迫使用第三方加密狗访问库,提供包含文件'sense4.h',其代码如下:

#if !defined _WINDOWS_

#define WINAPI
#define CONST const

typedef unsigned char   UCHAR;
typedef unsigned short  USHORT;
typedef unsigned int    UINT;
typedef unsigned long   ULONG;

typedef char            CHAR;
typedef char            TCHAR;

typedef void            VOID;

...

#endif /* !defined _WINDOWS */

...

unsigned long WINAPI S4Startup(
        VOID
);


unsigned long WINAPI S4Cleanup(
        VOID
);

...
Run Code Online (Sandbox Code Playgroud)

问题是g ++ 4.6.1抱怨使用typedefed VOID的代码行:

sense4.h:375:9: error: ‘<anonymous>’ has incomplete type
sense4.h:376:1: error: invalid use of ‘VOID {aka void}’
sense4.h:383:9: error: ‘<anonymous>’ has incomplete type
sense4.h:384:1: error: …
Run Code Online (Sandbox Code Playgroud)

gcc typedef g++ void

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

Visual Basic 6免费在线课程和模块库(VB6)

Visual Basic 6是否有免费的在线存储库(或集合)方便的类和模块?

(我对包装MemoryDC功能的Canvas或类似MemoryBitmap的类特别感兴趣).

更新.以下是我发现的内容:

  1. VB Helper - Visual Basic开发人员的提示,技巧和示例程序

vb6

5
推荐指数
0
解决办法
808
查看次数

标签 统计

c++ ×4

string ×3

vb6 ×3

access-control ×1

arrays ×1

byte ×1

c ×1

c# ×1

class ×1

com ×1

g++ ×1

gcc ×1

hash ×1

hex ×1

idisposable ×1

permissions ×1

php ×1

qmainwindow ×1

qt ×1

qt5 ×1

qtstylesheets ×1

stdvector ×1

stl ×1

typedef ×1

void ×1