小编mar*_*zzz的帖子

如何获得最后一个strtok?

我想拆分一个“字符串”(分隔符\)以获得最后一次出现。是我写的代码:

char str[] ="D:\\Google Drive\\My Files\\Test.zip";
char * buffer = str;

sprintf(buffer, "%s", strtok(str,"\\"));
cout << buffer;
Run Code Online (Sandbox Code Playgroud)

但它返回D:而不是Test.zip(第一次出现,而不是最后一次)。你会怎么做这个任务?

我需要使用/保持 sprintf(即格式字符串方法)。

c++ string split strtok

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

为什么在运行时需要虚拟表来调用虚函数?

我下面这个教程,试图了解virtual table背后的整个过程pointervirtual functions in C++.

不确定,当我有这样的代码:

D1 d1;
Base *dPtr = &d1;
dPtr->function1();
Run Code Online (Sandbox Code Playgroud)

为什么我需要所有这些virtual table管理?为什么编译器根本不分配内存地址d1(或基数,如果没有)覆盖virtual function

我的意思是:如果它需要D1 functon1()地址或Base functon1()地址,它可以在编译时详细说明.它当时知道.为什么以后在运行时看到会浪费时间和资源virtual tables

我想念这一点.花哨的例子?

c++ polymorphism virtual-functions virtual-table

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

如何反序列化数组?

我正在使用nlohmann :: json库来序列化/反序列化元素json.这是我如何序列化C++double数组:

double mLengths[gMaxNumPoints] = { 1.0, 2.0, 3.0, 4.0, 5.0 };
...
nlohmann::json jsonEnvelope;
jsonEnvelope["lengths"] = envelope.mLengths;
Run Code Online (Sandbox Code Playgroud)

哪个产品:

"lengths":[  
   1.0,
   2.0,
   3.0,
   4.0,
   5.0
]
Run Code Online (Sandbox Code Playgroud)

但现在,我怎样才能反序列化mLengths?试过:

mLengths = jsonData["envelope"]["lengths"];
Run Code Online (Sandbox Code Playgroud)

但它说expression must be a modifiable lvalue.如何恢复阵列?

c++ json nlohmann-json

0
推荐指数
2
解决办法
251
查看次数

是不是__m128d本地对齐?

我有这个代码:

double a[bufferSize];
double b[voiceSize][bufferSize];
double c[voiceSize][bufferSize];

...

inline void AddIntrinsics(int voiceIndex, int blockSize) {
    // assuming blockSize / 2 == 0 and voiceIndex is within the range
    int iters = blockSize / 2;
    __m128d *pA = (__m128d*)a;
    __m128d *pB = (__m128d*)b[voiceIndex];
    double *pC = c[voiceIndex];

    for (int i = 0; i < iters; i++, pA++, pB++, pC += 2) {
        _mm_store_pd(pC, _mm_add_pd(*pA, *pB));
    }   
}
Run Code Online (Sandbox Code Playgroud)

但是,"有时",它提高访问内存冲突,我认为它是由于缺少我的3个数组的内存对齐的a,bc.

但是,由于我操作__m128d(使用__declspec(align(16))),当我转换为指针时,是否保证对齐? …

c++ sse simd memory-alignment intrinsics

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

警告:布尔上下文中的“*”,建议使用“&amp;&amp;”代替 [-Wint-in-bool-context]?

我有这个代码(几乎都是“浮动”):

#define sincf(x) (x == 0.0f) ? (1.0f) : (sinf(M_PI * x) / (M_PI * x))
// ...
for (int i = 0; i < num_taps; i++)
    proto[i] = 2.0f * f * sincf(2.0f * f * (i - m / 2.0f));
// ...
Run Code Online (Sandbox Code Playgroud)

为什么 gcc 说警告:' ' 在布尔上下文中,建议使用 '&&' 而不是 [-Wint-in-bool-context]* 作为第二个“*”?

  • f 是浮点数
  • 原型是 *float
  • i 和 m 是整数

c++ gcc warnings

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

movss操作码需要如何解释?

我在 Visual Studio IDE 的调试器上从 C++ 构建中获得了以下反汇编代码:

在此输入图像描述

根据我在movss指令上看到的内容,应该是

  1. F3 0F 10 /r MOVSS xmm1, xmm2 -- 将标量单精度浮点值从 xmm2 合并到 xmm1 寄存器。
  2. F3 0F 10 /r MOVSS xmm1, m32 - 将标量单精度浮点值从 m32 加载到 xmm1 寄存器。
  3. F3 0F 11 /r MOVSS xmm2/m32, xmm1 -- 将标量单精度浮点值从 xmm1 寄存器移至 xmm2/m32。

因此,虽然前 3 个字节很容易理解,但我不太理解其余的字节,例如05 6b 02 10 00第一行、44 24 38第二行等等。

你能帮我理解它们吗?05或44好像是/r?这是什么意思?

assembly x86-64 disassembly

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

如何提取当前日期,解析它并添加7天

我想这样做:

  1. 提取当前日期;
  2. 解析为DD/MM/YYYY;
  3. 加7天;

我怎么能在C#上做到这一点?

我希望有这样的具体方法(没有extraxt,split,Arrange arrays,join,ecc ......).

采取的解决方案

DateTime dt = DateTime.Parse(System.DateTime.Now.ToString());
txtArrivo.Text = dt.ToString("dd/MM/yyyy");
txtPartenza.Text = dt.AddDays(7).ToString("dd/MM/yyyy");
Run Code Online (Sandbox Code Playgroud)

c# datetime

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

我可以从40px到600px进行slideDown吗?

我有一个高度为40px的div; 我想用jQuery从这个高度到600px做一个scrollDown.

我该怎么做?

jquery

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

为什么我这个约会?

这是我的代码:

DateTime dataCreazioneImmagineWebcam = immagineWebcam.CreationTime;
Response.Write(dataCreazioneImmagineWebcam.ToString("dd MM yyyy HH:mm:ss"));
Run Code Online (Sandbox Code Playgroud)

01 01 1601 01:00:00如果我在资源管理器中分析文件的日期是正确的(2014年2月4日),它会打印出来.

这有什么不对?

.net c# datetime

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

带索引的`step`

如果我有这个代码:

46.step(127, 1) do |i|
end
Run Code Online (Sandbox Code Playgroud)

在第10次迭代中,我可以得到两个i = 55并且index = 10没有任何外部计数器吗?

ruby iteration

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