小编Pie*_*aud的帖子

不明白"#define for if-statement"

我正在查看用于将lua包装到C++应用程序中的代码.

我很惊讶地发现这个:

#define for if (false) {} else for
Run Code Online (Sandbox Code Playgroud)

我不明白这个意思.对我来说,做这样的事似乎没用.

它是否必须使用某些编译器技巧或其他东西?

PS:我正在看的图书馆是luabind.

c++ if-statement

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

在构造函数和对象创建中'this'

当我说你不应该在构造函数中使用'this'关键字而其他人说完全相反时,我会阅读一些文章....

现在我的主要问题是:它是否安全,在构造函数中使用'this'是一个好习惯吗?

这个问题导致其他人:

  • 如何创建对象?
  • 什么时候创建一个类的成员?在调用构造函数之前?

以下是在Windows 7上使用VS2012的一些示例:

class FirstClass
{
    int m_A;
public:
    FirstClass( int a ) : m_A( a )
    {
        std::cout << this->m_A << std::endl;
        //           ^^^^
    }
};
Run Code Online (Sandbox Code Playgroud)

并且:

class ThirdClass; // forward decl
class SecondClass
{
public:
    SecondClass( ThirdClass* iTC )
    {
        // ...
    }
};

class ThirdClass
{
    SecondClass* m_SC;
public:
    ThirdClass():
        m_SC( new SecondClass( this ) )
    //                         ^^^^
    {
        //...
    }
};
Run Code Online (Sandbox Code Playgroud)

这些例子是有效的,但是有可能存在未定义的行为吗?

c++ object this

4
推荐指数
1
解决办法
168
查看次数

如何从C执行命令并终止它

我有这样的命令:

./mjpg_streamer -i "./input_uvc.so -n -f 15 -r 1280x720" -o "./output_http.so -n -w ./www "
Run Code Online (Sandbox Code Playgroud)

用于通过以太网传输视频.目前我正在通过终端运行,对于退出我只需按Ctrl + c.但我需要使用c代码来做到这一点.是否有可能或任何其他方法可用?

谢谢.

c c++ linux

4
推荐指数
1
解决办法
2696
查看次数

无序映射相等功能c ++

可能这很容易,但我只是想了解我们是否可以这样做:

假设我们有一个unordered_map(string, string)默认情况下,如果两个字符串相等,它将检查相等性.

现在,假设我们在相等运算符中再添加一个函数,即使两个字符串是彼此的字符串,也会返回true.为此,我们是否只能更新相等运算符而不是hasher(并使用默认的hasher).

例如,仅定义仿函数:

bool operator() (const string& a, const string& b) const  
{  
    // check for anagram condition here  
}
Run Code Online (Sandbox Code Playgroud)

c++ unordered-map

4
推荐指数
1
解决办法
418
查看次数

Git rebase冲突的理解

在我的工作流程中,我有两个主要分支,masterdevelopment.

我们最近决定改变development,master因为我们做了很多修复,master并继续开发功能development.

我们的目标是最终完全删除development并保留一个分支来改变我们的工作流程,因为它不适合我们的使用...

所以我们有一些冲突(在不同的分支上开发7个月后正常),但有些人退出了奇怪...

例如,很多时候我们有类似的东西:

$ git status
# On branch master
# Unmerged paths:
#   (use "git add/rm ..." as appropriate to mark resolution)
#
#       added by them:      X
#       added by us:        Y
Run Code Online (Sandbox Code Playgroud)

但对于added by us,该文件存在于masterdevelopment为承诺.您必须知道有问题的文件至少有10个月的历史....

我的问题是:确切含义是added by us什么?

rebase一个好习惯吗?

git version-control

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

解密 base64 并保存在第二个变量中

我正在尝试编写密码安全系统。(只是一个学习 bash 脚本的小型家庭系统)我能够加密密码字符串并将其保存到另一个文件中。

我的下一步是在我的 shell 脚本中导出这些加密的密码字符串并解密它们以在此例程中使用它们。我找到了一个带有简单导出命令的导出解决方案,我最终将加密的字符串保存到新变量中。

如何解密这些字符串并将它们保存在另一个变量中。我正在使用 openssl 和 base64 加密。

这是源代码:

export user=$(cat logindata | head -n1 | tail -n1)
export passwd=$(cat logindata | head -n2 | tail -n1)
passwd2=echo -n $passwd | openssl enc -d -base64
echo "$user"
echo "$passwd2"
Run Code Online (Sandbox Code Playgroud)

encryption bash shell base64

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

标签 统计

c++ ×4

base64 ×1

bash ×1

c ×1

encryption ×1

git ×1

if-statement ×1

linux ×1

object ×1

shell ×1

this ×1

unordered-map ×1

version-control ×1