小编Bau*_*gen的帖子

适用于Linux的轻量级IDE

即使我有一台强大而快速的计算机(Pentium Dual Core 2.0和2Gb RAM),我总是在寻找轻量级软件,因此即使许多应用程序同时启动和运行,它也能快速运行.

在过去的几周里,我一直在逐渐迁移到Linux,并希望安装一个免费的轻量级但有用的IDE来编写C++和PHP程序.Sintax突出显示和代码完整提示是必备的.

所以,我想收到你们的一些建议.

php c++ linux ide

10
推荐指数
7
解决办法
8万
查看次数

是否可以检查编译时是否知道const值?

目前我正在重写/扩展我的C++实用程序库,考虑新的C++ 11功能.其中一个新增功能是一个模板类,它可以在编译时提供一组数字的最大值.

template<typename T, T... Xs> class ConstMax
{
private:
    template<typename... Ts> static constexpr T Max(Ts... xs);

    template<typename Tx> static constexpr T Max(Tx x)
    {
        return x;
    }

    template<typename T1, typename T2, typename... Ts> static constexpr T Max(T1 x, T2 y, Ts... xs)
    {
        return y > x ? Max<T2, Ts...>(y, xs...) : Max<T1, Ts...>(x, xs...);
    }

public:
    static const T Value = Max(Xs...);
};
Run Code Online (Sandbox Code Playgroud)

此类的示例用法:

int max = ConstMax<int, 1, 8, 66, 32, 90, 12, 33>::Value;
Run Code Online (Sandbox Code Playgroud)

这里有另一个例子可能会让我更难以验证在编译期间是否实际评估了ConstMax <...> :: …

c++ constexpr c++11

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

指针在C中的价值

我已经开始学习C(所以,你知道..指针).

我有这个代码:

#include <stdio.h>
#include <string.h>

int main (int argc, char* argv[])
{
    char c = 'c';
    char* cptr = &c;

    printf("c = %c\n", c);
    printf("*cptr = %c\n", *cptr);  
    printf("c address = %p\n", &c);  
}
Run Code Online (Sandbox Code Playgroud)

我的输出是:

c = c
*cptr = c
c address = 0x7fff0217096f
Run Code Online (Sandbox Code Playgroud)

当我将上面的十六进制转换为十进制时,我得到:140720994002157

我的问题:

1)这个十进制值是否代表内存地址?不是太大了吗?

2)如何将指针的值(表示c变量的地址)打印为小数?

c pointers memory-address

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

为什么在以下情况下没有数据竞争?

当两个线程同时访问同一个变量并且至少有一个访问是写入时,就会发生数据争用.

https://isocpp.org/wiki/faq/cpp11-language-concurrency

// start with x==0 and y==0
if (x) y = 1;   // Thread 1 
if (y) x = 1;   // Thread 2 
Run Code Online (Sandbox Code Playgroud)

这里有问题吗?更确切地说,是否有数据竞争?(不,没有).

为什么原始文章声称这里没有数据竞争?

c++ concurrency c++11

9
推荐指数
3
解决办法
1840
查看次数

非const指针更喜欢const T和重载到const T*

假设我有一个函数的两个重载

template <typename T>
void f(const T&) {
    cout << "f(T&)" << endl;
}

template <typename T>
void f(const T*) {
    cout << "f(T*)" << endl;
}
Run Code Online (Sandbox Code Playgroud)

为什么要f(new int)解决f(const T&)而不是f(const T*)?标准中的任何地方都谈到了这种反直觉的行为?

http://ideone.com/kl8NxL

c++ overloading c++11

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

删除向量(通过擦除)内存的尾部有效吗?

做的时候 v.erase(some_iterator);

实现是否足够聪明,不能进行任何重新分配/字节复制,因为我们只能更新大小?(与严格删除内部元素时不同.)

c++ stl

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

在通知中使用大图标时的java.lang.NoClassDefFoundError

在通知中使用大图标时,会出现此错误,并且应用程序崩溃:

  06-06 19:53:34.688 25207-25207/com.example.hadi.music E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.hadi.music, PID: 25207
    java.lang.NoClassDefFoundError: Failed resolution of: Landroid/graphics/drawable/Icon;
        at com.example.hadi.music.service.MediaPlayerService.buildNotification(MediaPlayerService.java:90)
        at com.example.hadi.music.service.MediaPlayerService.access$100(MediaPlayerService.java:25)
        at com.example.hadi.music.service.MediaPlayerService$1.onPlay(MediaPlayerService.java:126)
        at android.media.session.MediaSession$CallbackMessageHandler.handleMessage(MediaSession.java:1150)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5221)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.graphics.drawable.Icon" on path: DexPathList[[zip file "/data/app/com.example.hadi.music-2/base.apk", zip file "/data/app/com.example.hadi.music-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.hadi.music-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.hadi.music-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.hadi.music-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.hadi.music-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.hadi.music-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.hadi.music-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.hadi.music-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.hadi.music-2/split_lib_slice_7_apk.apk", zip …
Run Code Online (Sandbox Code Playgroud)

android android-notifications

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

明确指定泛型lambda的operator()模板参数是否合法?

以下C++代码标准是否兼容?

#include <iostream>

int main()
{
    [](auto v){ std::cout << v << std::endl; }.operator()<int>(42);
}
Run Code Online (Sandbox Code Playgroud)

铛++ 3.8.0克++ 7.2.0 编译该代码细(编译器标志-std=c++14 -Wall -Wextra -Werror -pedantic-errors).

c++ lambda templates language-lawyer generic-lambda

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

固定宽度整数类型是否为标准内置类型的typedef?

从类型<cstdint>(如例如int16_t,uint_fast64_t,int_least8_t)保证是typedefS为内建类型等中的一个short,unsigned long等等?

或者是允许使用非常规内置类型来实现固定宽度类型的实现?

c++ language-lawyer

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

如何减少C++标准库libstdc ++.所以文件大小

我的计算机上有不同的C++编译器,每个编译器都有自己的libstdc ++.所以它们的大小不同.

-rwxr-xr-x. 1 root root 967K Mar 22  2017 libstdc++.so.6.0.13
-rwxr-xr-x. 1 root root 6.5M Aug  1  2017 libstdc++.so.6.0.20
-rwxr-xr-x. 1 root root  11M Aug  1  2017 libstdc++.so.6.0.21
-rwxr-xr-x. 1 root root  12M Jan 30 16:58 libstdc++.so.6.0.24
Run Code Online (Sandbox Code Playgroud)

我想知道为什么libstdc ++.so.6.0.13比其他人小得多,并且有什么方法可以减少其他人的大小.如果有人可以帮助我,我会很高兴的.

c++

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