小编Kei*_*son的帖子

-std = c ++ 0x和-std = c ++ 11之间的区别是什么?

我知道这些标志适用于Eclipse中的C++ 11.

但我不知道有什么区别,哪一个更受欢迎.

看起来他们都正常使用C++ 11.

c++ eclipse c++11

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

为什么std :: string没有隐式转换为bool

有没有理由在c ++ std::string中没有隐式转换为bool?例如

std::string s = ""
if (s) { /* s in not empty */ }
Run Code Online (Sandbox Code Playgroud)

和其他语言一样(例如python).我认为使用这种empty方法很繁琐.

c++ string casting boolean

13
推荐指数
3
解决办法
5832
查看次数

如何在不提交的情况下关闭GitHub问题?

我认为有一种简单的方法可以做到这一点,但我真的很难在任何搜索中找到任何答案.我有一些问题需要关闭,因为我们认为这不是一个问题,所以我需要关闭它.我已经知道如何使用提交消息来解决问题,但我找不到任何其他方法来执行此操作.

git github

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

C memcpy反过来

我正在处理音频数据.我想反向播放示例文件.数据存储为无符号整数并且包装良好且紧凑.有没有办法调用memcpy将以相反的顺序复制.即如果我有1,2,3,4存储在一个数组中,我可以调用memcpy神奇地反转它们,所以我得到4,3,2,1.

c reverse memcpy

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

MySQL InnoDB锁定连接的行

"SELECT ... FOR UPDATE"锁是否在MySQL中加入了行?

如果是这样,是否可以禁用此行为?

文档中没有任何相关内容.我已经看到Oracle支持"SELECT ... FOR UPDATE OF table_name"table_name是主表或者受影响的行将被锁定的连接表之一,但我从来没有在MySQL的上下文中看到这一点.

mysql innodb transactions join locks

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

int到float转换会产生警告吗?

这是令人惊讶,我看到,即使值可以转换,一个int浮动转换始终给予警告.为什么是这样?

int i = 0;
float f = 0; // warning here

// I thought this was an implicit conversion,
// meaning it is convertible with no warnings.
f = i;      // another warning here
Run Code Online (Sandbox Code Playgroud)

警告是:

warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
Run Code Online (Sandbox Code Playgroud)

c++ implicit-conversion

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

我怎样才能在Twitter上发布Intent Action_send?

我一直在努力将文本从我的应用程序发送到Twitter.

下面的代码用于显示蓝牙,Gmail,Facebook和Twitter等应用程序列表,但是当我选择Twitter时,它不会像我预期的那样预填充文本.

我知道围绕Facebook做这个问题有一些问题,但我必须做错事才能与Twitter合作.

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "Example Text");
startActivity(Intent.createChooser(intent, "Share Text"));
Run Code Online (Sandbox Code Playgroud)

twitter android share android-intent

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

在头文件中使用未声明的标识符(Clang)

我正在创建一个函数来读取位于IO.cpp文件中的文件内容:

#include "IO.h"
#include <iostream>
#include <fstream>
IO::IO()
{
    //ctor
}

void IO::readFile(std::string fileName)
{
    std::ofstream inputFile;
    inputFile.open(FileName);
    inputFile >> fileName.toStdString;
    inputFile.close();
    std::cout << fileName;
}
Run Code Online (Sandbox Code Playgroud)

使用头文件IO.h:

#ifndef IO_H
#define IO_H


class IO
{
    public:
        IO();
        void readFile(std::string inputFile);
    protected:
    private:
};

#endif // IO_H
Run Code Online (Sandbox Code Playgroud)

但是我从Clang那里得到了一个错误

include/IO.h | 9 | error:使用未声明的标识符'std'|

我无法弄清楚如何解决它.

c++ function shared-libraries clang header-files

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

为什么表达式类型在C ++中的版本之间会发生变化?

我尝试理解C ++的表达式类型,我读的越多,我就越困惑,因为我发现C ++草案很难理解,因此倾向于使用其他资源,但是它们彼此矛盾,或者没有考虑到C ++版本之间的措辞和定义有很大的变化。

在下文中,我指的是以下草案:

  • C ++ 11 [ n3690 ](最终草案)
  • C ++ 17 [ n4659 ](最终草案)
  • C ++ 20 [ n4835 ](当前草案)

C++11 3.10左值和右值

... prvalue(“纯” rvalue)是不是xvalue的rvalue。[示例:调用返回类型不是引用的函数的结果是prvalue。文字的值(例如12、7.3e5或true)也是prvalue。—结束示例]

C++17 3.10左值和右值

... prvalue是一个表达式,其求值初始化一个对象或位字段,或者计算一个运算符的操作数的值,该值由其出现的上下文指定。

C++20 7.2.1值类别*

... prvalue是一个表达式,其求值初始化一个对象或位域,或者计算一个运算符的操作数(由其出现的上下文指定),或者是cv void类型的表达式。

我会理解措词的更改,并进行了一些调整,但对我而言,整个定义都会更改。有人可以帮我理解吗?例如,为什么删除了一个句子,即prvalue是不是xvalue的rvalue?还是为什么删除了有用的示例?

c++ c++11 c++14 c++17 c++20

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

连接应该多久关闭/打开一次?

我在C#上逐行写入SQL服务器上的两个表.

我的C#app将参数传递给2个存储过程,每个过程都将行插入表中.

每次调用存储过程时,我都会打开然后关闭连接.

我需要在数据库中写入大约100米的行.

每次调用存储过程时,我应该关闭并打开连接吗?

这是我正在做的一个例子:

public static void Insert_TestResults(TestResults testresults)
        {
            try
            {
                DbConnection cn = GetConnection2();
                cn.Open();

                // stored procedure
                DbCommand cmd = GetStoredProcCommand(cn, "Insert_TestResults");
                DbParameter param;

                param = CreateInParameter("TestName", DbType.String);
                param.Value = testresults.TestName;
                cmd.Parameters.Add(param);


                if (testresults.Result != -9999999999M)
                {
                    param = CreateInParameter("Result", DbType.Decimal);
                    param.Value = testresults.Result;
                    cmd.Parameters.Add(param);
                }


                param = CreateInParameter("NonNumericResult", DbType.String);
                param.Value = testresults.NonNumericResult;
                cmd.Parameters.Add(param);

                param = CreateInParameter("QuickLabDumpID", DbType.Int32);
                param.Value = testresults.QuickLabDumpID;
                cmd.Parameters.Add(param);
                // execute
                cmd.ExecuteNonQuery();

                if (cn.State == ConnectionState.Open)
                    cn.Close();

            }
            catch (Exception e)
            { …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

11
推荐指数
3
解决办法
3228
查看次数